Boucle champ table dans textbox
Résolu
Jaber_
Messages postés
23
Date d'inscription
Statut
Membre
Dernière intervention
-
Jaber_ Messages postés 23 Date d'inscription Statut Membre Dernière intervention -
Jaber_ Messages postés 23 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous !
Voilà, j'essaie d'afficher dans un champ text multiligne les éléments d'un champ d'une table et le code ci-dessous ne m'affiche que le premier enregistrement...
Pouvez-vous m'aider svp ?
La ligne
Voilà, j'essaie d'afficher dans un champ text multiligne les éléments d'un champ d'une table et le code ci-dessous ne m'affiche que le premier enregistrement...
Pouvez-vous m'aider svp ?
MySqlDataAdapter Notif = new MySqlDataAdapter("SELECT Notifications FROM tb_notifications WHERE UserId='" + Id1 + "'", mcon); DataTable data = new DataTable(); Notif.Fill(data); string Not1 = data.Rows[0][3].ToString(); for (int i = 0; i < Not1.Length; i++) { TXT_Notifications.Text += "• " + Not1[i] + "\n"; }
La ligne
string Not1 = data.Rows[0][3].ToString(); est pour affiche le 3ème champ de la table qui est UserId
Merci de votre aide
A voir également:
- Boucle champ table dans textbox
- Table ascii - Guide
- Table des matières word - Guide
- Table des caractères - Guide
- Table des annexes word ✓ - Forum Word
- WOrd 365 Liste des figures et annexes ✓ - Forum Word
4 réponses
Bonjour Whismeril,
En fait, Dans un premier formulaire, je me connecte et l'Id de l'utilisateur est mémorisé.
Ensuite, dans se second formulaire, je me connecte à une seconde table :
d'où je dois comparer le UserId (1) de l'Id de la première table et afficher la notification de celle-ci comme suite :
Voilà, j'espère que j'ai été explicite :s
Merci encore pour ton aide !
Cordialement
En fait, Dans un premier formulaire, je me connecte et l'Id de l'utilisateur est mémorisé.
Ensuite, dans se second formulaire, je me connecte à une seconde table :
CREATE TABLE `tb_notifications` ( `NumId` int(11) NOT NULL, `DateNotif` datetime NOT NULL, `UserId` varchar(11) NOT NULL, `Notifications` text NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; INSERT INTO `tb_notifications` (`NumId`, `DateNotif`, `UserId`, `Notifications`) VALUES (1, '2016-08-05 08:26:20', '1', 'Bonjour toi !'), (2, '2016-08-05 14:31:22', '2', 'Salut'); (3, '2016-08-05 14:31:22', '1', 'Tu vas bien ?');
d'où je dois comparer le UserId (1) de l'Id de la première table et afficher la notification de celle-ci comme suite :
• Bonjour toi !
• Tu vas bien ?
Voilà, j'espère que j'ai été explicite :s
Merci encore pour ton aide !
Cordialement
Les bases de données c'est pas mon fort et surtout pas avec un datatable, je me sers de Linq.
C'est pourquoi je ne t'ai pas demandé quelle requête tu fais, mais ce qui est sensé être là
Parce que ce qui est sûr c'est que
Ça ne peut pas donner
Not1 est un string donc Not1[i] est un caractère pas une phrase.
Cela dit data.Rows[0][3].ToString(), au vue de ce que tu montres, ne peux retourner que Bonjour Toi!, et Tu vas bien ? doit se trouver dans data.Rows[1][3].ToString()
En supposant que tu travailles en FrameWork >= 4.0, tu fais un foreach sur tes Row, à chacune tu ajoutes "• " + la case 3 dans une list<string>.
A la fin de la boucle, tu faits un string.Join de cette list avec "\n\r" comme séparateur
C'est pourquoi je ne t'ai pas demandé quelle requête tu fais, mais ce qui est sensé être là
string Not1 = data.Rows[0][3].ToString();
Parce que ce qui est sûr c'est que
for (int i = 0; i < Not1.Length; i++) { TXT_Notifications.Text += "• " + Not1[i] + "\n
Ça ne peut pas donner
• Bonjour toi ! • Tu vas bien
Not1 est un string donc Not1[i] est un caractère pas une phrase.
Cela dit data.Rows[0][3].ToString(), au vue de ce que tu montres, ne peux retourner que Bonjour Toi!, et Tu vas bien ? doit se trouver dans data.Rows[1][3].ToString()
En supposant que tu travailles en FrameWork >= 4.0, tu fais un foreach sur tes Row, à chacune tu ajoutes "• " + la case 3 dans une list<string>.
A la fin de la boucle, tu faits un string.Join de cette list avec "\n\r" comme séparateur
Bonjour Whismeril,
Et voilà ! avec ce code tout fonctionne parfaitement !
Dans le load :
Et voilà ! avec ce code tout fonctionne parfaitement !
Dans le load :
MyConnexion.Open(); using (MySqlCommand cmd = new MySqlCommand("select * from tb_notifications where UserId=" + Id1, MyConnexion)) { MySqlDataAdapter adapter = new MySqlDataAdapter("select * from tb_notifications where UserId=" + Id1, MyConnexion); DataSet DS = new DataSet(); adapter.Fill(DS); MySqlDataReader reader = cmd.ExecuteReader(); for (int i = 0; i < DS.Tables[0].Rows.Count; i++) { TXT_Notifications.Text = TXT_Notifications.Text + "• " + DS.Tables[0].Rows[i][3].ToString() + "\r\n"; } } MyConnexion.Close();