2016-09-19 14 views
0

UPDATEコマンドを使用してレコードを更新しようとしています。私はこのエラーを取得する:'UPDATE`コマンドを使用するときに1つ以上の必須パラメータに値が指定されていません

No value given for one or more required parameters.

は、ここに私のコードです:

Private Sub saveOle_Click(sender As Object, e As EventArgs) Handles saveOle.Click 
    Try 
     Using conn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\samplelangtowalangya.mdb;") 
      conn.Open() 
      Dim command As New OleDbCommand("UPDATE sample SET ewan = @ewan, ko = @ko, sayo = @sayo, hehehe = @hehehe WHERE Number_of_Employees = @Number_of_Employees", conn) 
      With command.Parameters 
       .AddWithValue("@ewan", ewan.Text) 
       .AddWithValue("@ko", ko.Text) 
       .AddWithValue("@sayo", sayo.Text) 
       .AddWithValue("@hehehe", hehehe.Text) 
       command.ExecuteNonQuery() 
      End With 

      MessageBox.Show("Employee's Informations Successfuly Updated!", "INFO", MessageBoxButtons.OK, MessageBoxIcon.Information) 
      command.Dispose() 
      conn.Close() 
     End Using 
    Catch ex As Exception 
     MessageBox.Show(ex.Message, "ERROR12", MessageBoxButtons.OK, MessageBoxIcon.Error) 
    End Try 
End Sub 

Number_of_Employeesが私のIDとプライマリキーです。

+1

とあなただけのあなたが名前付きの値を指定する必要があります。4.を提供しますwhere句の値か、それともSQLの結果はどうなるでしょうか? –

+0

ああ、そうです。私は '@ ewan'の前にIDを入れようとしました。私は4つのフィールドの後に配置しました。それは今働く、ありがとう:) – wwwMarvsdotcom

答えて

0

は、だから、私はID後の四つのフィールドを配置しようとした、それが今で正常に動作します:) SQLが5つのという名前のパラメータがあり

Private Sub saveOle_Click(sender As Object, e As EventArgs) Handles saveOle.Click 
    Try 
     Using conn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\samplelangtowalangya.mdb;") 
      conn.Open() 
      Dim command As New OleDbCommand("UPDATE sample SET ewan = @ewan, ko = @ko, sayo = @sayo, hehehe = @hehehe WHERE Number_of_Employees = @Number_of_Employees", conn) 
      With command.Parameters 
       .AddWithValue("@ewan", ewan.Text) 
       .AddWithValue("@ko", ko.Text) 
       .AddWithValue("@sayo", sayo.Text) 
       .AddWithValue("@hehehe", hehehe.Text) 
       .AddWithValue("@Number_of_Employees", IDtext.Text) 
      End With 
      command.ExecuteNonQuery() 
      MessageBox.Show("Employee's Informations Successfuly Updated!", "INFO", MessageBoxButtons.OK, MessageBoxIcon.Information) 
      command.Dispose() 
      conn.Close() 
     End Using 
    Catch ex As Exception 
     MessageBox.Show(ex.Message, "ERROR12", MessageBoxButtons.OK, MessageBoxIcon.Error) 
    End Try 
End Sub 
関連する問題