掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ADOQueryのSQL文 (ID:35114)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
>g2_SQL := 'SELECT 名称区分,名称№,名称(ふりがな),' > + '名称(漢字),名称(略称),備考 FROM Name_Table' > + ' WHERE 名称区分 = g2_int_wk'; g2_int_wk が変数と思われますが、プログラム中で使用する変数名 そのものをダイレクトにSQL文に記述することは不可です。 変数の中身をSQL文に記述すればよいのだから (1)g2_int_wk が変数で値が数値(仮にここでは整数)なら + ' WHERE 名称区分 = ' + IntToStr(g2_int_wk) + ';'; (2)g2_int_wk が変数で値が文字列なら + ' WHERE 名称区分 = ' + QuotedStr(g2_int_wk) + ';'; (3)g2_int_wk という文字列そのものを渡したいのであれば + ' WHERE 名称区分 = ' + QuotedStr('g2_int_wk') + ';'; と普通はします。要は、数値は数値を表す文字列で、文字(列)はシングルクォーテーションで括って渡すのがSQL文の約束事です。 (4)おまけ g2_int_wk が変数であればこの部分をパラメータにして + ' WHERE 名称区分 = :A;'; ADQOuery1.SQL.Add(g2_SQL); ADOQuery1.Parameters.ParamByName('A').Value := g2_int_wk; ADOQyery1.Open; とすることもOKです。(パラメータ名をここでは仮に'A'としています) パラメーター化すればパラメーターに変数を渡せば変数の中身がパラメータの値 として処理されます。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.