私は視覚的な基本とアクセスを使用しています。SQL "&"と連結すると構文エラーが発生します
私は「+」で連結しようとすると、次のエラーを解放:「ダブル」を入力する文字列からの変換は「」有効ではありません。
マイコード:
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
私の列の順序が良いです。 ここでは何が起こっていますか?
SQLの連結を停止し、パラメータ化された文を使用すると、これらの問題は発生しません。 (あなたの問題は、浮動小数点型として定義された列に文字列を渡しているか、または浮動小数点をastringと連結して変換できないことです。パラメータを使用すると、割り当てられている値が正確にわかりますあなたは文字列内に何が起こっても浮動小数点値と日付を使うことができます。また、SQLインジェクションの問題を避けることもできます。)あなたの質問は混乱します、BTW - タイトルは*と&*を連結しますが、最初の文は*と+をつけています。 –
何かが2つの方法で発生するため.... &: "SQL Insert Syntax error。" +:"文字列 "から" Double "を入力すると無効になります。" – TwoDent
私が言ったように、連結しないでください。パラメータを連結したり使用したりしないと、DBドライバは必要な場所で引用符を処理し、日付のような他の値を適切な形式に変換することができなくなります。すべての愚かな変換の間違いと引用エラー。 –