我正在使用一个我真的不喜欢顺便说一句的 Access 数据库,并且正在尝试使用“联系人”表对记录执行更新。声明是这样写的……
UPDATE contacts SET FirstName = [c_FirstName], LastName = [c_LastName], Title = [c_Title], Email = [c_Email], IncludeSection4 = [c_IncludeSection4] WHERE (((ContactID)=[c_ContactID]));
现在.NET 部分是这样的......
Public Shared Function Update(ByVal contact As IContact) As Boolean
Dim parameterList As New List(Of DataParameter)
parameterList.Add(New DataParameter("c_ContactID", contact.ContactID, ParameterDirection.Input, OleDbType.Integer))
parameterList.Add(New DataParameter("c_FirstName", contact.FirstName, ParameterDirection.Input, OleDbType.VarChar))
parameterList.Add(New DataParameter("c_LastName", contact.LastName, ParameterDirection.Input, OleDbType.VarChar))
parameterList.Add(New DataParameter("c_Title", contact.Title, ParameterDirection.Input, OleDbType.VarChar))
parameterList.Add(New DataParameter("c_Email", contact.Email, ParameterDirection.Input, OleDbType.VarChar))
parameterList.Add(New DataParameter("c_IncludeSection4", contact.IncludeSection4, ParameterDirection.Input, OleDbType.Boolean))
If DAL.SendData("UpdateContact", parameterList) Then
Return True
End If
Return False
End Function
由于某种原因,这不会更新并且总是返回 false。cmd.ExecuteNonQuery 总是返回 0.... 我在想它的 Access 部分不正确,这里有什么明显的吗?