04. marts 2012 - 12:27Der er
13 kommentarer og 1 løsning
Indsæt fra arrailist til mysql
Hey,
Jeg forsøger at indsætte de afmærkede felter i en CheckBoxList i en Mysql tabel...
Men den vil ikke helt som jeg og jeg kan ikke se hvor det er kæde hopper fra.
Jeg laver en For løkke der går igennem listen, og en if sætning der begrænser det til at vælge de valgte felter.
For at se om den fanger noget har jeg sat en response.write ind, som skriver det korrekt ud.
Længden af arraylist: 5
KID: 1, og value: 8 KID: 1, og value: 9 KID: 1, og value: 2 KID: 1, og value: 3 KID: 1, og value: 7
Når jeg så indsætter en Try statement, så medtager den kun hver anden. Altså den indsætter kun KID: 1, og value: 8 KID: 1, og value: 2 KID: 1, og value: 7
Hvis jeg indsætter en Response.Write i mit Try statement skriver den også kun hver anden ud.
Koden ser således ud:
for i=0 to chkTest.Items.Count-1 if chkTest.Items(i).Selected then Dim strValue As String = chkTest.Items(i).Value
Jeg kan ikke se hvorfor den gør som beskrevet. Men jeg kan se at du vil åbne databaseforbindelsen for hver INSERT - det er overflødigt, og langsomt. Du kan åbne for FOR og lukke efter NEXT.
Imellem Catch ex As MySql.Data.MySqlClient.MySqlException og End Try kunne du med fordel udskrive ex, i stedet for blot at ignorere en eventuel fejl. Så kan det være vi kan se hvad der er galt.
Jeg har sat kryds i fem ud af fem mulige checkboxe.. Så det er ikke det der er fejlen. Har prøvet alle kombinationer. Hvis jeg kun kydser af i to boxe, så får jeg kun indsat en, hvis jeg krydser af i tre, får jeg to osv. :(
Jeg indsatte Response.Write(ex.message) som du foreslog og får følgende besked:
Not allowed to change the 'ConnectionString' property while the connection (state=Open).Not allowed to change the 'ConnectionString' property while the connection (state=Open).
Du kan se, at du ikke lavede en conn.close() for hver conn.open() - og det er en fejl. Dvs. du skal også se at få lavet den conn.close() efter din for-løkke.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.