掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
TQuery.ExecSQLについて (ID:12979)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
Tableしかつかったことないですけど(しかも8年くらい前(^_^;)) とおーぃ記憶を呼び戻して うっぅうって作ってみました。 とりあえず・・・ Query 2通りあるみたいですね。 作ってみました 参考にならないでしょうけど・・・ Delphi2Desktopで書きましたら、どれでもたぶん動くでしょう。 D2005起動が遅いから使う気になれないけどぉ(>_<) 念のため2005でも確認しました(^_^;) openする時の Query1.RequestLive; の値が要注意ですね。 procedure TForm1.Button2Click(Sender: TObject); var Str: string; RLive : Boolean; begin // Database 1.dbf a,b,c 文字列型 // Query1.SQL.text := ' SELECT * FROM "1.dbf"'; // 普通に挿入 RLive := Query1.RequestLive; if Not(RLive) then begin Query1.close; Query1.RequestLive := True; Query1.open; end; // TQuery で INSERT ができない // http://www.borland.co.jp/qanda/delphi/d0000242.html // このページあってるの? 逆のことしたらできるんだけど・・・ // open する前にTrueに設定しないといけないっぽい。 Query1.Insert; Query1.FieldByName('a').AsString := '1'; Query1.FieldByName('b').AsString := '2'; Query1.FieldByName('c').AsString := TimeToStr(now); { ここで他の項目に値を代入します } // if { 項目を更新する場合 } then Post // else { 更新を中止する場合 } Cancel; Query1.Post; // まとめて挿入 Str := Query1.SQL.text; // 一度セレクト文破棄 // SQLの文法知らないので使い方がわからない。 Query1.SQL.text := 'INSERT into "1.dbf"(a,b,c) VALUES("a","b","c") '; Query1.ExecSQL; Query1.SQL.text := Str; Query1.RequestLive := RLive; Query1.open; end; > D2 ヘルプより引用 > RequestLive プロパティ > 説明 > > デフォルトの設定では,TQuery は読み出し専用結果セットを返します。ライブ結果セットが必要な場合は RequestLive を True に設定します。問い合わせの SELECT 構文がライブ結果セットの構文条件に従っていれば,BDE はライブ結果セットを返します。RequestLive が True であっても,構文が条件に従っていないと BDE は (ローカル SQL に対しては) 読み出し専用結果セット,(パススルー SQL に対しては) エラーコードを返します。問い合わせがライブ結果セットを返した場合,Delphi は CanModify プロパティを True に設定します。 > > RequestLive CanModify 結果セットの種類 > > False False 読み出し専用結果セット > > True (SELECT 構文が 条件に従う場合) True ライブ結果セット > > True (SELECT 構文が 条件に従わない場合) False 読み出し専用結果セット ↓このB社の説明はなっとくできない。 http://www.borland.co.jp/qanda/delphi/d0000242.html
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.