ちなみに、私は実際には楽しんでいない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部分が正しくないと思いますが、ここで明らかなことはありますか?