TQueryのカラム名に変数

解決


さと  2008-02-26 15:02:35  No: 29921  IP: 192.*.*.*

TQueryのカラム名に変数名を使う方法はありませんか。
次の場合の、「ColumnName」を変数で使いたいのですが。
  with Query1 do begin
    SQL.ADD( 'SELECT *');
    SQL.ADD( 'FROM ABC');
    SQL.ADD( 'WHERE ColumnName=:V);
    ParamByName( 'V' ).AsString:=Edit1.Text;
    Prepare;
    Open;

編集 削除
??  2008-02-26 15:52:03  No: 29922  IP: 192.*.*.*

ColumnNameをSQLで使いたいの?
ColumnNameに項目名を指定したいの?

編集 削除
さと  2008-02-26 16:20:50  No: 29923  IP: 192.*.*.*

「ColumnName」に実行時に項目名を指定したいのです。
たとえば、実行日が、
月曜日なら、「ColumnName」に「MON」
火曜日なら、「ColumnName」に「TUE」を指定して、
月曜日なら、「MON」=V
火曜日なら、「TUE」=V  のものを、SELECTしたいのですが。

編集 削除
??  2008-02-26 17:45:22  No: 29924  IP: 192.*.*.*

wYOUBI : Array[0..7] of String; //曜日別の項目名をセット
wYOUBI[0] := 'SUN';
wYOUBI[1] := 'MON';
と土曜部まで設定します。

SQL.ADD( 'SELECT *');
SQL.ADD( 'FROM ABC');
SQL.ADD( 'WHERE '+wYOUBI[DayofWeek(Date)] +'=:V);

編集 削除
さと  2008-02-27 09:11:35  No: 29925  IP: 192.*.*.*

??さん。ありがとうございました。
SQL文の文字列の間に、変数を置けることがわかりました。

編集 削除