combobox code voor het schrijven naar de database..

Status
Niet open voor verdere reacties.

sharper

Gebruiker
Lid geworden
18 mei 2012
Berichten
9
Hallo Allemaal,

Het is mij gelukt om data (zoals voornaam achternaam etc) in de database te schrijven d.m.v. een formulier. Alleen bij de combobox zie hieronder als ik die erbij toevoeg wil hij niet naar de database schrijven. Ik denk dat het komt omdat het een int is en geen varchar en omdat het een combobox is. Weet iemand hoe ik de code moet aanpassen, zodat hij ook de combobox accepteert! (Leeftijd_Kind)

Zie voor de code hieronder.

Ik hoop dat jullie mij kunnen helpen...

Code:
        MySqlConnection cs = new MySqlConnection("****");
        MySqlDataAdapter da = new MySqlDataAdapter();

            da.InsertCommand = new MySqlCommand("INSERT INTO leerlingentabel (Voornaam_Ouder,Achternaam_Ouder,Voornaam_Kind,Achternaam_Kind,Leeftijd_Kind)
 VALUES (@Voornaam_Ouder,@Achternaam_Ouder,@Voornaam_Kind,@Achternaam_Kind,@Leeftijd_Kind)", cs);
            da.InsertCommand.Parameters.Add("@Voornaam_Ouder", MySqlDbType.VarChar).Value = txtvo.Text;
            da.InsertCommand.Parameters.Add("@Achternaam_Ouder", MySqlDbType.VarChar).Value = txtao.Text;
            da.InsertCommand.Parameters.Add("@Voornaam_Kind", MySqlDbType.VarChar).Value = txtvk.Text;
            da.InsertCommand.Parameters.Add("@Achternaam_Kind", MySqlDbType.VarChar).Value = txtak.Text;
            da.InsertCommand.Parameters.Add("@Leeftijd_Kind", MySqlDbType.Int16).Value = txtlk.Text;

Combobox -->
Code:
da.InsertCommand.Parameters.Add("@Leeftijd_Kind", MySqlDbType.Int16).Value = txtlk.Text;
 
Laatst bewerkt:
je neemt alleen de text van de combobox. maar een combobox dient om iets te selecteren, en dat vind ik niet in terug.
plus, de string zal je moeten parsen naar een integer van 16bit. ;)
je hebt code:

Code:
da.InsertCommand.Parameters.Add("@Leeftijd_Kind", MySqlDbType.Int16).Value = txtlk.Text;


veranderen naar
Code:
da.InsertCommand.Parameters.Add("@Leeftijd_Kind", MySqlDbType.Int16).Value = Int16.Parse(comboBox1.SelectedItem.ToString());




Met vriendelijke groetjes, Jim
 
Laatst bewerkt:
Hallo Jim,

Ik krijg een foutmelding als ik de code aanpas, namelijk:

"De indeling van de invoertekenreeks is onjuist."

De waarden die men kan selecteren in de combobox = vierjaar,vijfjaar etc.

Ik hoop dat jij of iemand mij hiermee kan helpen
 
ik dacht dat je letterlijk bedoelde in een combobox met de volgende waarde: 5,6,7,... ;)

Maar als je gebruik maakt string, moest je gewoon doen, wat je erboven gedaan hebt.
dan word het code:
Code:
da.InsertCommand.Parameters.Add("@Leeftijd_Kind", MySqlDbType.VarChar).Value = comboBox1.SelectedItem.ToString();

Maar je dan in database met een integer zit en je werkt met text, dan zul je toch wel die integer moeten vervangen naar een varchar.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan