Problème de DataGridView C# et requette SQL
Planchounette
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
Planchounette Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
Planchounette Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
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 lister les tables ✓ - Forum Programmation
- Jointure sql ✓ - Forum MySQL
- 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 Java
- 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 Loisirs / Divertissements