2014-02-14 22 views
1

我在Visual Basic中有我的代碼的錯誤消息。請幫忙。謝謝。查詢值和目標字段的數量不相同。錯誤消息

誤差表示:

Number of query values and destination fields are not the same.

私人小組btnAdd_Click(BYVAL發件人爲System.Object的,BYVALË作爲System.EventArgs)把手btnAdd.Click 昏暗CMD作爲新OleDb.OleDbCommand

If Not cnn.State = ConnectionState.Open Then 
    cnn.Open() 
End If 

cmd.Connection = cnn 

If Me.txtID.Tag & "" = "" Then 
    cmd.CommandText = "INSERT INTO ProfessorListTable(ID,LastName,FirstName,MI,Gender,Department,ContactNo,Address,EmailAddress,YearEmployed)" & _ 
     " VALUES(" & Me.txtID.Text & ",'" & Me.txtLName.Text & "','" & _ 
     Me.txtFName.Text & "','" & Me.txtMI.Text & "','" & _ 
     Me.txtGender.Text & "','" & Me.txtDept.Text & "','" & _ 
     Me.txtNo.Text & "','" & Me.txtAddress.Text & "','" & _ 
     Me.txtEAdd.Text & "','" & Me.txtYear.Text & "',')" 

    cmd.ExecuteNonQuery() 
Else 
    cmd.CommandText = "UPDATE ProfessorListTable " & _ 
    " SET txtID=" & Me.txtID.Text & _ 
    ", LastName='" & Me.txtLName.Text & "'" & _ 
    ", FirstName='" & Me.txtFName.Text & "'" & _ 
    ", MI='" & Me.txtMI.Text & "'" & _ 
    ", Gender='" & Me.txtGender.Text & "'" & _ 
    ", Department='" & Me.txtDept.Text & "'" & _ 
    ", ContactNo='" & Me.txtNo.Text & _ 
    ", Address='" & Me.txtAddress.Text & "'" & _ 
    ", EmailAddress='" & Me.txtEAdd.Text & "'" & _ 
    ", YearEmployed='" & Me.txtYear.Text & _ 
    " WHERE stdid=" & Me.txtID.Tag 
    cmd.ExecuteNonQuery() 


End If 


RefreshData() 

結束子

回答

1

你有額外的逗號(,)在這裏

& Me.txtYear.Text & "',' 

所以它導致11值,而不是10

和地址被保留字所以用它作爲[地址]

嘗試像此

Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click Dim cmd As New OleDb.OleDbCommand 

If Not cnn.State = ConnectionState.Open Then 
    cnn.Open() 
End If 

cmd.Connection = cnn 

If Me.txtID.Tag & "" = "" Then 
    cmd.CommandText = "INSERT INTO ProfessorListTable(ID,LastName,FirstName,MI,Gender,Department,ContactNo,[Address],EmailAddress,YearEmployed)" & _ 
     " VALUES(" & Me.txtID.Text & ",'" & Me.txtLName.Text & "','" & _ 
     Me.txtFName.Text & "','" & Me.txtMI.Text & "','" & _ 
     Me.txtGender.Text & "','" & Me.txtDept.Text & "','" & _ 
     Me.txtNo.Text & "','" & Me.txtAddress.Text & "','" & _ 
     Me.txtEAdd.Text & "','" & Me.txtYear.Text & "')" 

    cmd.ExecuteNonQuery() 
Else 
    cmd.CommandText = "UPDATE ProfessorListTable " & _ 
    " SET txtID=" & Me.txtID.Text & _ 
    ", LastName='" & Me.txtLName.Text & "'" & _ 
    ", FirstName='" & Me.txtFName.Text & "'" & _ 
    ", MI='" & Me.txtMI.Text & "'" & _ 
    ", Gender='" & Me.txtGender.Text & "'" & _ 
    ", Department='" & Me.txtDept.Text & "'" & _ 
    ", ContactNo='" & Me.txtNo.Text & _ 
    ", [Address]='" & Me.txtAddress.Text & "'" & _ 
    ", EmailAddress='" & Me.txtEAdd.Text & "'" & _ 
    ", YearEmployed='" & Me.txtYear.Text & _ 
    " WHERE stdid=" & Me.txtID.Tag 
    cmd.ExecuteNonQuery() 


End If 
RefreshData() 
End Sub 
+0

謝謝。我犯了另一個錯誤。它說: SELECT語句包含保留字或參數名拼寫錯誤或缺失,或標點符號不正確。 – Iza

+0

你得到什麼錯誤 –

+0

地址是保留關鍵字,所以使用像[地址] –

相關問題