我有包含数据的文本框。然后,如果我单击更新它将启用所有文本框,以便我可以编辑它们。如果我再次单击“更新”,它将保存但是 我不断收到错误消息
" UPDATE语句中的语法错误"
myConnection.Open()
Dim str As String = "UPDATE StudentDatabase set FName='" & FNameTextBox.Text & "',MName='" & MNameTextBox.Text & "',LName='" & LNameTextBox.Text & "' ,DOB='" & DOBDateTimePicker.Text & "',Gender='" & GenderTextBox.Text & "',Address='" & AddressTextBox.Text & "',Section='" & SectionTextBox.Text & "',FatherName='" & FatherNameTextBox.Text & "',FatherOccupation='" & FatherOccupationTextBox.Text & "',FatherContact='" & FatherContactTextBox.Text & "',MotherName='" & MotherNameTextBox.Text & "',MotherOccupation='" & MotherOccupationTextBox.Text & "',MotherContact='" & MotherContactTextBox.Text & "',Guardian='" & GuardianTextBox.Text & "',GuardianContact='" & GuardianContactTextBox.Text & "' where StudID='" & StudIDTextBox.Text & "' "
Dim cmd As OleDbCommand = New OleDbCommand(str, myConnection)
If (LNameTextBox.ReadOnly = True) Then
FNameTextBox.ReadOnly = False
LNameTextBox.ReadOnly = False
MNameTextBox.ReadOnly = False
GenderTextBox.ReadOnly = False
AddressTextBox.ReadOnly = False
SectionTextBox.ReadOnly = False
FatherNameTextBox.ReadOnly = False
FatherContactTextBox.ReadOnly = False
FatherOccupationTextBox.ReadOnly = False
MotherNameTextBox.ReadOnly = False
MotherContactTextBox.ReadOnly = False
MotherOccupationTextBox.ReadOnly = False
GuardianContactTextBox.ReadOnly = False
GuardianTextBox.ReadOnly = False
ElseIf (LNameTextBox.ReadOnly = False) Then
Try
cmd.ExecuteNonQuery()
FNameTextBox.ReadOnly = True
LNameTextBox.ReadOnly = True
MNameTextBox.ReadOnly = True
GenderTextBox.ReadOnly = True
AddressTextBox.ReadOnly = True
SectionTextBox.ReadOnly = True
FatherNameTextBox.ReadOnly = True
FatherContactTextBox.ReadOnly = True
FatherOccupationTextBox.ReadOnly = True
MotherNameTextBox.ReadOnly = True
MotherContactTextBox.ReadOnly = True
MotherOccupationTextBox.ReadOnly = True
GuardianContactTextBox.ReadOnly = True
GuardianTextBox.ReadOnly = True
myConnection.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try
End If
答案 0 :(得分:0)
首先,在您被警告时,请使用参数化查询。如果异常没有为您提供足够的信息,请考虑将完整的查询写入控制台,以便您可以方便地检查语法。 dobdatetimepicker.text返回的是什么格式,这是您的数据库所期望的(但是,如果我没有记错,您会收到不同的错误消息)?如果这些都没有显示问题,请从查询字符串中删除输入,直到发生不同的事情。