掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
TADOTableでLocateを使ってバイナリ型を含む項目検索をするには? (ID:44789)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
自己解決しましたので報告します。 以下の方法が正解かは分かりませんが、今のところ正常に動作しています。 ポイントは3つでした。 1.ADOTableコンポーネントプロパティのCursorLocationを"clUseServer"にする。 (デフォルト設定は"clUseClient") 2.Locateで使用するバイナリ型の引数を文字列型に変換し、シングルクォーテーションで くくってセットする 例) var V1 : OleVariant; S1 : String; begin ・ ・ ・ Table2.CursorLocation := clUseServer; V1 := Table1['Key3']; //OleVariant型に一旦セット S1 := V1; //String型にセット ret := Table2.Locate('Key1;Key2,Key3', VarArrayOf(Table1['Key1'],Table1['Key2'],''''+S1+'''']), [loCaseInsensitive]); 3.バイナリ型の項目へセットする場合は、Char型に変換する 例2) var C1 : array[0..6] of Char; //Char型配列 begin ・ ・ ・ strPCopy(C1,TrimRight(text.Fields[0])); Table1.FieldByName('Key3').AsString := C1; ・ ・ ・ 以上です。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.