掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ADOで排他制御する方法 (ID:24008)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ADOでSQL Serverにアクセスしていて、 下記のような記述でデータを取得しています。 行ロックするようにしたいのですが、うまく出来ません。 ヘルプなど見ると LockType=ltPessimistic で行ロックと書いてあるのですが 全くロックがかかりません。 また、SELECT でデータ取得する場合は、 「SELECT 列名 FROM テーブル名 WITH(UPDLOCK) WHERE〜」 で出来そうなのですが・・・。 下記のアクセス方法で行ロックする方法はありますでしょうか? ---------------------------------------------------- CoInitialize(NULL); adocon = new TADOConnection(Application); adocon->Connected=false; adocon->ConnectionString = s; //s は接続文字列 adocon->LoginPrompt= False; table = new TADOTable(Application); table->LockType = ltPessimistic; table->Connection = adocon; table->TableName = "テーブル名"; table->Open(); Variant var[2]; var[0] = Variant(abc); TLocateOptions opt; bool atta = table->Locate("key",var[0],opt); if ( atta ) { AnsiString kekka = dp->FieldByName(列名)->AsString; } table->Close(); CoUninitialize(); ----------------------------------------------------------
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.