お世話になります。
windows7、Delphi2010
いちいちデータベースにテーブルを作らずに、
ソース上でデータの入ったデータセットを作りたいのです。
(ちょっとしたルックアップに使いたい、グリッドにテストデータを表示、等)
// ※うごきません!
var
tb : TTable;
procedure TForm1.FormCreate(Sender: TObject);
begin
tb := TTable.Create(Self);
tb.Open;
tb.Append;
tb.FieldByName('CODE').AsInteger := 1;
tb.FieldByName('NAME').AsString := '男';
tb.Post;
tb.Append;
tb.FieldByName('CODE').AsInteger := 2;
tb.FieldByName('NAME').AsString := '女';
tb.Post;
end;
// ※うごきません!
イメージはこんな感じなのですが可能でしょうか?
よろしくお願いします。
>いちいちデータベースにテーブルを作らずに、
手軽に、ということでしたら、(テーブルは作ることになりますが、)
・Firebird Embeded Server
・InterBase To-Go Edition
・SQLite
などでは、だめですか?
あと、MyBaseとか・・・(あまり使っていないので、ご希望のことができるかわかりませんが・・)
http://hp.vector.co.jp/authors/VA028375/delphi/db.html
こんにちは。
[#150:To use TClientDataset as memory dataset (Scalabium Software)]
http://www.scalabium.com/faq/dct0150.htm
なんてどうでしょうか?コードを要約したものを、
http://ht-deko.minim.ne.jp/ft1102.html#110221_02
にアップしておきました。
回答ありがとうございます。
>igyさん
その3つは使ったことないですが、
お手軽さという意味ではAccessをよく使います。
エディタがウンコなのがたまにきずです。
>DEKOさん
ページ拝見しました、バッチリできました。
TClientDatasetですか・・・こちらも使ったことが無いので色々いじくってみます。
お二人ともありがとうございました。
物理ファイルが出来ちゃうので質問の趣旨とは違ってくる気もしますが
このようにしても出来ました。
var
i: Integer;
dt: TTable;
begin
dt := TTable.Create(Self);
// テーブルのあるフォルダをフルパスで指定
dt.DatabaseName := ExtractFileDir(ParamStr(0)) + '\DB';
// テーブル名
dt.TableName := 'test';
// Paradox テーブルを指定
dt.TableType := ttParadox;
// テーブル用の項目を指定
dt.FieldDefs.Add('CODE', ftInteger, 0, false);
dt.FieldDefs.Add('NAME', ftString, 20, false);
// 以上の定義を使ってテーブルを作成
dt.CreateTable();
dt.Open;
for i := 1 to 100 do
begin
dt.Append;
dt.FieldByName('CODE').AsInteger := i;
dt.FieldByName('NAME').AsString := 'Code' + IntToStr(i);
dt.Post;
end;
end;
ツイート | ![]() |