掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
データベース クエリを使った検索・更新・削除・追加 (ID:36545)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
書き方は、これでも構いません。 ただ、Add()でSQLを設定しているところで、1行で書くようにすると、 改行で書いた場合にスペースか改行を入れ忘れる事があるので、注意しましょう。 add('select * from a where aID = :value1 and ' + 'aNAME = :value2 and aADDRESS = :value3'); と書いた場合は、SQLに select * from a where aID = :value1 and aNAME = :value2 and aADDRESS = :value3 と1行に設定されます。 add('select * '); add(' from a'); add('where aID = :value1'); add(' and aNAME = :value2'); add(' and aADDRESS = :value3'); と書けば、 select * from a where aID = :value1 and aNAME = :value2 and aADDRESS = :value3 の様に改行が入って、複数行に設定されます。 エラーが出た時は、何行目かというのが出て判りやすくなります。 Parametaを設定する場合は、変数名の前にコロンを入れます。 プログラム中で行を変える場合は、文字列を分けるので「+」を使用します。 TQueryのプロパティの中でSQLにプログラム以前にSQL文を設定していて、 プログラム中ではSQLの設定をせずに、 params[0].AsInteger := ival; params[1].AsString := sval1; params[2].AsString := sval2; だけを各方法もあります。これは判りやすく ParamByName('Value1').AsInteger := ival; という風に変数名で参照する方法も有ります。 この場合は、変数名の型をプロパティで設定します。 ただ、変数の型には注意しましょう。 Like文はデーターベースにより使い方が違いますが、SQL文では where aNAME Like 'a%' ですから、プログラム上では Add('where aNAME Like ''a%'''); の様にします。 このあたりは、OracleのSQLですから、 http://www.iceprobe.net/database/oracle/oraorasql/sql_command_like.php あたりを参照した方が詳しく調べられます。 DelphiはOracleなどのデーターベース機能をUIとして使う道具を作るものですので、 どのように組み合わさっているのを考えながらProgramしましょう。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.