2016-04-08 13 views
1

本当に奇妙なエラーが発生しました。私は2つの列(ユーザーとパス、両方のテキストの種類)だけのテーブルを持っています。 プログラムは最初に、変更したい列を尋ねます。ラジオボタンでは、どの列を修正したいのかを指摘します。Strange Update句エラー(VB.NET)

ラジオボタンを押すと、2つのテキストボックスが表示されます。変更するには、パスワードと新しいデータを入力する必要があります。

問題を修正するとき、私はユーザーの列を変更したい場合、すべてがうまくいきます...しかし、私はパスワード列のものを変更したい場合は、 "更新エラー条項"をリリースしてください。

正直なところ、私はこのコードではエラーが表示されない:

Protected Friend Sub modificarAcesso(ByVal column As String, ByVal dato As String) 
    Dim cmd As String = "Update Login SET " & column & "[email protected]" 
    Try 
     con.Open() 
     comando = New OleDbCommand(cmd, con) 
     comando.Parameters.AddWithValue("@dato", dato) 
     comando.ExecuteNonQuery() 
     comando.Dispose() 
     con.Close() 
    Catch ex As Exception 
     con.Close() 
     MsgBox("Problemas en la consulta: " + ex.Message(), MsgBoxStyle.Critical) 
    End Try 
End Sub 
+0

あなたはwhere句を持たずにテーブル全体を更新します。失敗しているコマンドのSQLは何ですか?あなたが受け取っているエラー全体は何ですか? – JimmyV

+0

プログラムは「UPDATEステートメントのエラー」としか言わなかった。 – TwoDent

+0

でも、すべての行を同じ値に変更するつもりです – Plutonix

答えて

3

パスワードがキーワードであるので、あなたは括弧に入れなければなりません。とにかく列名にスペースが含まれている場合は、これを実行する必要があります。

Dim cmd As String = "Update Login SET [" & column & "] = @dato" 
+0

まあ!これは動作します!ありがとう! – TwoDent