2009/09/09(Wed) 14:37:46 編集(投稿者)
■No40982 (もりお さん) に返信
もりおさん、アドバイスありがとうございます。
> 解決策1
> AccessDataSource の OldValuesParameterFormatString プロパティに original_{0} を
> セットして AccessDataSource タスクからデータソースの構成を行う。
<asp:AccessDataSource ID="AccessDataSource1" runat="server"
DataFile="./App_Data/MyDB.mdb"
DeleteCommand="DELETE FROM [Meibo] WHERE (([ID] = ?) OR ([ID] IS NULL AND ? IS NULL))"
InsertCommand="INSERT INTO [Meibo] ([ID], [namae]) VALUES (?, ?)"
SelectCommand="SELECT * FROM [Meibo]"
UpdateCommand="UPDATE [Meibo] SET [namae] = ? WHERE (([ID] = ?) OR ([ID] IS NULL AND ? IS NULL))"
OldValuesParameterFormatString="Original_{0}">
を設定し、動かしましたが、「更新」でエラー発生、エラーメッセージも以前と同じでした。
次に、OldValuesParameterFormatString プロパティ設定を、最初の状態 {0} に戻し、
> 解決策2
> データソースの構成の SQL 生成の詳細オプションで
> オプティミスティック同時実効制御のチェックボックスをオンにする。
<asp:AccessDataSource ID="AccessDataSource1" runat="server"
DataFile="./App_Data/MyDB.mdb"
DeleteCommand="DELETE FROM [Meibo] WHERE (([ID] = ?) OR ([ID] IS NULL AND ? IS NULL)) AND (([namae] = ?) OR ([namae] IS NULL ANULL))"
InsertCommand="INSERT INTO [Meibo] ([ID], [namae]) VALUES (?, ?)"
SelectCommand="SELECT * FROM [Meibo]"
UpdateCommand="UPDATE [Meibo] SET [namae] = ? WHERE (([ID] = ?) OR ([ID] IS NULL AND ? IS NULL)) AND (([namae] = ?) OR ([namaeL AND ? IS NULL))"
OldValuesParameterFormatString="original_{0}"
ConflictDetection="CompareAllValues">
を設定し、動かしましたが、「更新」でエラー発生、エラーメッセージも以前と同じでした。
残念ながら、解決策2つ共、動きませんでした。どこか他の設定に不備があるのでしょうか?