Encore des problèmes !! (tranfert de datagrid vers form)
delegouine
Messages postés24Date d'inscriptionmardi 27 avril 2004StatutMembreDernière intervention19 mai 2004
-
4 mai 2004 à 16:35
delegouine
Messages postés24Date d'inscriptionmardi 27 avril 2004StatutMembreDernière intervention19 mai 2004
-
5 mai 2004 à 10:09
OK, me revoilà !! :big)
Après m'être connectée à une base, je récupère une valeur dans mon datagrid et je la place dans une zone de texte. Jusqu'ici, tout va (à peu près) bien.
Je me retrouve avec TextBox1.text = "bellay (du)";
Mais je souhaite, sur changement de ma zone de texte, aller chercher une autre donnée dans ma base en rapport avec celle que je viens de trouver. Dans mon exemple, il s'agit de trouver le quartier correspondant à la rue (ici, bellay (du) ).
Le problème qui se pose est que, au lieu de me renvoyer le nom que je cherche, on me renvoie "Table". C'est plutôt gênant... Le nom de rue est bien écrit cette fois-ci ;)
Voilà mon code, je vois pas ce qui fait planter le tout, peut-être parce que je ne ferme pas mes connections, ou parce que je choisis le mauvais indice ? TextBox 2 est, au fait, l'endroit où je souhaite afficher mon quartier (de la même manière qu'avec la rue).
private void textBox1_TextChanged(object sender, System.EventArgs e)
{
string connStr = "provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\basepatrimoinearbore\\baseaccess.mdb";
string selStr ="SELECT DISTINCT quartier_nom FROM rue WHERE rue_nom LIKE ""+this.textBox1.Text+""";
MessageBox.Show(selStr); //pour test
OleDbDataAdapter adapt= new OleDbDataAdapter (selStr,connStr);
System.Data.DataSet ds= new System.Data.DataSet();
try
{
adapt.Fill(ds);
MessageBox.Show(ds.Tables[0].ToString());
// ici on me renvoie Table
this.textBox2.Text = ds.Tables[0].ToString();
}
catch (System.Data.OleDb.OleDbException mon_erreur)
{
MessageBox.Show(mon_erreur.Message);
}
des frites !
A voir également:
Encore des problèmes !! (tranfert de datagrid vers form)
MorpionMx
Messages postés3466Date d'inscriptionlundi 16 octobre 2000StatutMembreDernière intervention30 octobre 200857 4 mai 2004 à 16:51
Il faut que tu fasses référence au champs concerné de la table, et non pas à la table.
J'ai jamais bossé avec des datasets mais ca devrait donner qqchose comme ça :
delegouine
Messages postés24Date d'inscriptionmardi 27 avril 2004StatutMembreDernière intervention19 mai 2004 4 mai 2004 à 17:20
non ça ne fonctionne pas... enfin pas vraiment mieux !
J'obtiens "System.Data.DataRow" à la place de "Table".
Le raisonnement a pourtant l'air de tenir la route... :sad)
delegouine
Messages postés24Date d'inscriptionmardi 27 avril 2004StatutMembreDernière intervention19 mai 2004 5 mai 2004 à 09:47
J'ai dû oublié quelque chose, parce que j'ai une erreur à l'exécution quand j'éxécute ton code ("la référence d'un objet n'est pas définie à une instance d'un objet.")...
des frites !
Vous n’avez pas trouvé la réponse que vous recherchez ?
taharban
Messages postés56Date d'inscriptionlundi 7 juillet 2003StatutMembreDernière intervention14 novembre 2007 5 mai 2004 à 09:52
ds : c'est le dataset
ds.Tables[0] : c'est la première table
ds.Tables[0].Rows[0] : c'est le 1er row de la 1ere table
ds.Tables[0].Rows[0]["Nom Colonne"] : c'est la valeur de la colonne "Nom Colonne" de ton 1er row de ta 1ere table
PS: il faut caster les valeurs obtenues qui par défaut sont des objets.
Dans ton exemple :