Problème de DataGridView C# et requette SQL
Planchounette
Messages postés
4
Statut
Membre
-
Planchounette Messages postés 4 Statut Membre -
Planchounette Messages postés 4 Statut Membre -
Bonjour,
J'ai un projet de stage qui consiste à développer une application C# connectée à une base de donnée Access. Le programme fait une requête SQL Select et doit afficher le résultat dans un DataGridView mais ce dernier affiche à la place : RowErrors, RowState, Table, Item et HasErrors.
J'ai cherché sur le net mais j'ai rien trouvé.
Je suis débutant en ce qui concerne le DataGridView, DataTable et autre "Dataquelquechose" donc je tâtonne encore beaucoup de ce côté là...
Quelqu'un aurait-il une idée de solution ou une piste à me donner?
Je poste mon code contenant la requête SQL au cas ou:
public void testc(TextBox tb1, TextBox tb2, ComboBox combo, DataGridView gridview, RadioButton e, RadioButton s)
{
try
{
DataSet DaSet = new DataSet();
DaSet.Locale = CultureInfo.InvariantCulture;
FillDataSet(DaSet);
DataTable dt1 = new DataTable();
DataTable dt2 = new DataTable();
dt1 = DaSet.Tables["LigneFactureFournisseur"];
dt2 = DaSet.Tables["MouvementStock"];
// Enumére les DataRow dans IEnumerable
IEnumerable<DataRow> eDR1 = DaSet.Tables["LigneFactureFournisseur"].AsEnumerable();
IEnumerable<DataRow> eDR2 = DaSet.Tables["MouvementStock"].AsEnumerable();
//Selectionne les collonnes à afficher
IEnumerable<DataRow> query = from lignefacturefournisseur in eDR1
join mouvementstock in eDR2
on lignefacturefournisseur.Field<string>("codedocument") equals
mouvementstock.Field<string>("identifiant")
where lignefacturefournisseur.Field<string>("codearticle") == " "
&& mouvementstock.Field<int>("codedepot") == int.Parse(combo.ToString())
&& lignefacturefournisseur.Field<DateTime>("datedocument") >= DateTime.Parse(tb1.Text)
&& lignefacturefournisseur.Field<DateTime>("datedocument") <= DateTime.Parse(tb2.Text)
select new CustomDataRow()
{
codedocument =
lignefacturefournisseur.Field<string>("codedocument"),
codearticle =
lignefacturefournisseur.Field<string>("codearticle"),
quantitehoraire =
lignefacturefournisseur.Field<string>("quantitehoraire"),
totalttcligne =
lignefacturefournisseur.Field<decimal>("totalttcligne"),
datedocument =
lignefacturefournisseur.Field<DateTime>("datedocument"),
};
DataTable boundTable = query.CopyToDataTable<DataRow>();
ObtainDataTableFromIEnumerable(query);
gridview.AutoGenerateColumns = true;
//Remplit la nouvelle table avec les résultats du query
DataTable cDT = query.CopyToDataTable();
try
{
//Affiche la table dans le DataGridView
gridview.DataSource = cDT;
BindingSource bindingSource = new BindingSource();
}
catch (Exception ex)
{
MessageBox.Show("Erreur : " + ex);
}
}
catch (Exception ex)
{
//En cas d'erreur
MessageBox.Show("Erreur : " + ex );
}
}
J'ai un projet de stage qui consiste à développer une application C# connectée à une base de donnée Access. Le programme fait une requête SQL Select et doit afficher le résultat dans un DataGridView mais ce dernier affiche à la place : RowErrors, RowState, Table, Item et HasErrors.
J'ai cherché sur le net mais j'ai rien trouvé.
Je suis débutant en ce qui concerne le DataGridView, DataTable et autre "Dataquelquechose" donc je tâtonne encore beaucoup de ce côté là...
Quelqu'un aurait-il une idée de solution ou une piste à me donner?
Je poste mon code contenant la requête SQL au cas ou:
public void testc(TextBox tb1, TextBox tb2, ComboBox combo, DataGridView gridview, RadioButton e, RadioButton s)
{
try
{
DataSet DaSet = new DataSet();
DaSet.Locale = CultureInfo.InvariantCulture;
FillDataSet(DaSet);
DataTable dt1 = new DataTable();
DataTable dt2 = new DataTable();
dt1 = DaSet.Tables["LigneFactureFournisseur"];
dt2 = DaSet.Tables["MouvementStock"];
// Enumére les DataRow dans IEnumerable
IEnumerable<DataRow> eDR1 = DaSet.Tables["LigneFactureFournisseur"].AsEnumerable();
IEnumerable<DataRow> eDR2 = DaSet.Tables["MouvementStock"].AsEnumerable();
//Selectionne les collonnes à afficher
IEnumerable<DataRow> query = from lignefacturefournisseur in eDR1
join mouvementstock in eDR2
on lignefacturefournisseur.Field<string>("codedocument") equals
mouvementstock.Field<string>("identifiant")
where lignefacturefournisseur.Field<string>("codearticle") == " "
&& mouvementstock.Field<int>("codedepot") == int.Parse(combo.ToString())
&& lignefacturefournisseur.Field<DateTime>("datedocument") >= DateTime.Parse(tb1.Text)
&& lignefacturefournisseur.Field<DateTime>("datedocument") <= DateTime.Parse(tb2.Text)
select new CustomDataRow()
{
codedocument =
lignefacturefournisseur.Field<string>("codedocument"),
codearticle =
lignefacturefournisseur.Field<string>("codearticle"),
quantitehoraire =
lignefacturefournisseur.Field<string>("quantitehoraire"),
totalttcligne =
lignefacturefournisseur.Field<decimal>("totalttcligne"),
datedocument =
lignefacturefournisseur.Field<DateTime>("datedocument"),
};
DataTable boundTable = query.CopyToDataTable<DataRow>();
ObtainDataTableFromIEnumerable(query);
gridview.AutoGenerateColumns = true;
//Remplit la nouvelle table avec les résultats du query
DataTable cDT = query.CopyToDataTable();
try
{
//Affiche la table dans le DataGridView
gridview.DataSource = cDT;
BindingSource bindingSource = new BindingSource();
}
catch (Exception ex)
{
MessageBox.Show("Erreur : " + ex);
}
}
catch (Exception ex)
{
//En cas d'erreur
MessageBox.Show("Erreur : " + ex );
}
}
A voir également:
- Problème de DataGridView C# et requette SQL
- Logiciel sql - Télécharger - Bases de données
- Sql (+) - Forum Programmation
- Sql lister les tables ✓ - Forum Programmation
- Quelle requête écrire pour demander au moteur de recherche de présenter de préférence les pages web traitant de tennis mais pas de tennis de table ✓ - Forum Android
- Erreur lors de l'envoi de la requête facebook - Forum Facebook