0

の列がありNVarChar(MAX)、次のようなテキストが含まれています。;0,4,6

これらはFlag別のテーブルの値です。

A.EditValueFormatコンポーネントのプロパティをcvfIndices

TcxDBCheckComboBoxB. 次のようなコードを使用して、テーブル a のテーブル値をコンポーネントに配置します。

Query.Active := True;  
while not Query.Eof do begin
  cxDBCheckComboBox1.Properties.Items.AddCheckItem(QueryCaptionField.AsString);
  Query.Next;
end;
Query.Active := False;

C. プログラムで値を選択するときに値を保持したい列を指すようにデータソースを割り当てました。テキストはデータベースで次のように表示されます: ;0,4,6 選択されているものを見つけるためにクエリを実行するにはSQL Server から?

4

1 に答える 1

-2

cvfIndices を使用しているときに答えが見つかりました。データベースに保存された値は、コンボボックス内の値のインデックスを表すため、次のようにクエリを実行できます。

SELECT * FROM TechCardsData 
LEFT JOIN TechCardsOperations
on 
CHARINDEX(CAST(TechCardsOperations.ID-1 as nvarchar(max)),TechCardsData.OperationsFlags) <> 0

そしてすべてが機能します:)これが誰かに役立つことを願っています:)

于 2013-10-05T10:26:22.433 に答える