掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
データを一気に取得するには? (ID:1370)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
はじめまして。 長文の質問になりますが、よろしくお願いします。 データベースから一気にデータを取ってきて プログラム上でそのデータを加工しようと思いまして 以下のようなプログラムを書いてみました。 しかし(*)のところでエラーになってしまいます。 どこがおかしいのか教えてください。<(_ _)> procedure TForm1.Button1Click(Sender: TObject); var txtSQL: String; i : integer; DBData: array of string; begin /DBオープン SDB.Open(); begin //一気にデータを取ってくる txtSQL := ''; txtSQL := 'SELECT AAA '+ 'FROM BBB '; //SQL発行 dbs := SDB.getResultSet(txtSQL); dbs.MoveFirst; //★書き込む処理を記述★ while not dbs.EOF do begin DBData[i] := dbs.Fields['AAA'].Value;(*) dbs.MoveNext end; end; //データベースクローズ SDB.Close(); EXIT; end; unit DBAccessClass; interface type TDB = class(TObject) public function getResultSet(sql_str: String): variant; end; var SDB : TDB; objOraSession : variant; {セッションオブジェクト} objOraDatabase : variant; {データベースオブジェクト} objOraDynaset : variant; {ダイナセットオブジェクト} implementation uses ComObj; //SQL 文を実行した結果の ResultSet を返す //引数 sql文(String型) function TDB.getResultSet(sql_str: String): variant; begin if not VarIsNull(objOraDatabase.dbCreateDynaset[sql_str,$0]) then begin objOraDynaset := objOraDatabase.dbCreateDynaset[sql_str,$0]; Result := objOraDynaset; end else begin objOraDynaset := null; Result := objOraDynaset; end; end; end
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.