Ich benutze Visual Basic und Zugriff.SQL Einfügen Syntaxfehler, wenn ich verketten mit "&"
Wenn ich versuche, mit "+" zu verketten, geben Sie den folgenden Fehler frei: Die Konvertierung von String "" zu "Double" ist ungültig.
Mein Code:
Protected Friend Sub insertarProducto(ByVal codigo As String, ByVal modelo As String, ByVal serial As String, ByVal pallet As String, ByVal precio As Double, ByVal cantidad As Integer, ByVal descripcion As String)
Try
con.Open()
adapter = New OleDbDataAdapter("Insert into Productos(Cod_Producto,Serial,Lote/pallet,Modelo,Descripcion,Precio,Cantidad)Values('" & codigo & "','" & serial & "','" & pallet & "','" & modelo & "','" & descripcion & "'," & precio & "," & cantidad & ")", con)
adapter.Fill(tabla)
Catch ex As Exception
MsgBox("Problemas en la consulta: " + ex.Message(), MsgBoxStyle.Critical)
End Try
con.Close()
End Sub
Die Reihenfolge meiner Spalten ist gut. Was ist hier los?
Beenden Sie die Verkettung Ihrer SQL und verwenden Sie parametrisierte Anweisungen, und Sie haben diese Probleme nicht. (Ihr Problem besteht darin, dass Sie eine Zeichenfolge an eine Spalte übergeben, die als Fließkommaart definiert ist, oder versuchen, einen Gleitpunkt mit einer Zeichenkette zu verketten, und sie kann nicht konvertiert werden. Verwenden Sie Parameter, um genau zu wissen, welcher Wert zugewiesen wird zu welchem param, und Sie können Fließkommawerte und Daten anstelle von was auch immer in einer Zeichenkette sein verwenden. Sie vermeiden auch Probleme mit SQL-Injektion.) Ihre Frage ist verwirrend, BTW - der Titel sagt * verketten mit & *, aber der Der erste Satz sagt * mit + *. –
Da passiert etwas auf zwei Arten .... Verketten mit &: "SQL Insert Syntaxfehler." Verketten mit +:" Konvertierung von String "" auf "Double" ist nicht gültig. " – TwoDent
Wie gesagt, verketten Sie nicht und Sie haben diese Probleme nicht. Das Problem ist, dass Sie alle zitieren Das Verknüpfen und Verwenden von Parametern würde es dem DB-Treiber ermöglichen, das Zitieren bei Bedarf und die korrekte Konvertierung anderer Werte wie Datumsangaben in das richtige Format zu handhaben, und Sie vermeiden dies all die albernen Umwandlungsfehler und das Zitieren von Fehlern –