2015-02-02 4 views
-2

양식을 사용하여 여러 필드를 업데이트하려고하면 "하나 이상의 필수 매개 변수에 값이 없습니다"라는 오류 메시지가 나타납니다. .ExecuteNonQuery()에서 누군가 내가 업데이트 할 필드에 .AddwithValue를 사용해야하는지 여부를 명확히 할 수 있습니까? 또는 "WHERE"필드에 대해? (RunnerID) 미리 감사드립니다vb.net에서 SQL 문을 사용하여 테이블의 여러 필드를 업데이트하는 방법은 무엇입니까?

(I 데이터베이스 연결을 설정하는 공용 클래스를하고 난 OLEDB 수입 내 형태의 또 다른 하나의 True로 부울 필드를 업데이트 할 수 있어요 있습니다.)

Private Sub ChangeBtn_Click(sender As Object, e As EventArgs) Handles ChangeBtn.Click 
    conn.Open() 
    Dim sqlQuery As String = "UPDATE tblPersonal SET Phone = @Phonetxt, Email = @Emailtxt, Age = @Agetxt, Full_Name = @Nametxt, Login_Key = @Passwordtxt WHERE RunnerID = @RunnerIDtxt" 
    Dim sqlCommand As New OleDbCommand 
    With sqlCommand 
     .CommandText = sqlQuery 
     .Parameters.AddWithValue("@Phonetxt", Phonetxt.Text) 
     .Parameters.AddWithValue("@Emailtxt", Emailtxt.Text) 
     .Parameters.AddWithValue("@Agetxt", Agetxt.Text) 
     .Parameters.AddWithValue("@Nametxt", Nametxt.Text) 
     .Parameters.AddWithValue("@Passwordtxt", Passwordtxt.Text) 
     .Connection = conn 
     .ExecuteNonQuery() 

    End With 
    conn.Close() 
End Sub 
+4

오류 메시지는 매우 분명합니다.'@ RunnerIDtxt'에 대한 매개 변수 바인딩이 없습니다. – Siyual

+3

여기에 @Passwordtxt가 일반 텍스트 비밀번호가 아님을 희망합니다. – Kritner

+0

죄송합니다. 저는 Vb에 꽤 새로 왔습니다. 나는 내가 바뀌고있는 필드와 내가 참조하고있는 필드 모두에 대해 매개 변수 바인딩을 추가해야한다는 것을 이해하지 못했습니다. –

답변

2

충분한 매개 변수를 제공하지 않았습니다. 검색어에 6 개의 매개 변수가 있고 그 중 5 개의 값만 지정하고 있습니다.

@RunnerIDtxt의 값을 입력해야합니다.

+0

RunnerIDtxt에 값을 지정해야합니까? –

+2

물론 그렇습니다. –

+0

정말 고마워! : D 이제 업데이트됩니다. –

관련 문제