Ich habe den folgenden Code für Daten in eine Tabelle mit einer MySQL-Abfrage in VB.NETRedefining/Re-Einstellparameter in MySQL-Abfrage
Dim MySqlCmdStr = "INSERT INTO tb_idlink(id1,id2) " &
"VALUES (@par1,@par2)"
MySqlCmd.CommandText = MySqlCmdStr
Dim checkedItem As Object
For Each checkedItem In CheckedListBox_1.CheckedItems
Try
MySqlCmd.Connection = MySqlConn
With MySqlCmd
.Parameters.AddWithValue("@par1", currentID)
.Parameters.AddWithValue("@par2", checkedItem.ToString())
End With
MySqlConn.Open()
MySqlCmd.ExecuteNonQuery()
MySqlConn.Close()
Catch ex As MySqlException
MessageBox.Show(ex.Message)
End Try
Next
Mein Problem eingefügt ist, wenn ich mehr als eine Box haben checked in CheckedListBox_1
dann auf der zweiten Schleife eine Ausnahme, die etwas wie "parameter @ par1 bereits definiert" sagt. Gibt es eine Möglichkeit, dass ich es neu definieren kann? Ich kenne die gesamte API nicht ganz.
Auch bin ich nicht 100% sicher, ob das Schleifen der beste Weg ist, dies zu tun, aber es ist das erste, was mir in den Sinn kam. Fühlen Sie sich frei, einen alternativen Weg dies zu tun vorschlagen.
Erstellen Sie Ihr Cmd außerhalb der Schleife mit der Methode add nicht die Methode addwithvalue. Verwenden Sie dann in der Schleife den Wert .Value (Name) =. Öffnen und schließen Sie die Verbindung nicht bei jeder Schleife. Machen Sie das um die Schleife –
Danke für den Hinweis! – robotHamster