お知らせ

電子会議

ライブラリ

FDelphi サイト全文検索

Delphi FAQ一覧

サンプル蔵



FDelphi FAQ
15番会議室「FAQ編纂委員会」に寄せられた「よくある質問の答え」

[Q]
Delphiで使用するParadoxやdBASEのテーブルはどのようにして作成 すれば良いのでしょう?Delphiだけで作る事はできますか?

[A]
作れます。
いくつか方法があります。例を参照してください。

また、Delphi Ver1.0 の場合、With DatabaseToolsと言う製品なら
DatabaseDesktopというツールがあるので、これを利用すれば簡単
にDBを作成できます。

Delphi2.0の場合、Developper及びC/S Suiteには上記のDetabaseTools
がCD-ROMにあるので、それを利用できます。
[例]
**********************************************************
*                                                        *
*                         1                             *
*                                                        *
**********************************************************

フォームにTTableを1つ置きます。Table1とします。
ボタンなどのClickイベントで、下記のコードを記述します。

     Table1.DatabaseName := 'C:\Delphi 2.0\Demos\Data'; //エリアス名でもOK
     Table1.TableName := 'NewCreate.DB';
     Table1.FieldDefs.Add('FieldA', ftInteger, 0, False);
     Table1.FieldDefs.Add('FieldB', ftString, 10, False);
     Table1.FieldDefs.Add('FieldC', ftFloat, 0, False);
     Table1.CreateTable;
     Table1.AddIndex('', 'FieldA', [ixPrimary, ixUnique]);
     Table1.AddIndex('', 'FIeldB', []);

この例では 'C:\Delphi 2.0\Demos\Data'フォルダに、NewCreate.DBという
Paradox型のテーブルを作成しています。フィールドは、

   FieldA   Integer型
   FieldB   文字型(10バイト)
   FIeldC   浮動小数点型

さらに、FIeldAをプライマリーキー、FIeldBをセカンダリキーとしています。

**********************************************************
*                                                        *
*                         2                             *
*                                                        *
**********************************************************

フォームにTQueryを置きます。
ボタンなどのOnClickイベントで、

     Query1.DatabaseName := 'C:\Del20j\Delphi 2.0\Demos\Data';
     Query1.SQL.Add('Create Table "NewCreate2.DB" (');
     Query1.SQL.Add('FieldA Integer, ');
     Query1.SQL.Add('FIeldB Varchar(10), ');
     Query1.SQL.Add('FieldC Numeric(10,2), ');
     Query1.SQL.Add('Primary Key(FieldA))');
     Query1.ExecSQL;
     Query1.SQL.Clear;
     Query1.SQL.Add('Create Index Idx1 On "NewCreate2.DB"(FieldB)');
     Query1.ExecSQL;

意味合いは例1とほぼ同じです。FieldCのNumericで小数以下の桁数を
指定できる部分が違っているだけです。
データベースの種類に適合したデータタイプを正確に作るには例2の
SQLを使う必要があります。


ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum FDELPHIに寄せられる質問の中から、よくある質問への回答を FDELPHIのメンバーがまとめたものです。 したがって、これらの回答はボーランド株式会社がサポートする公式のものではなく、掲示されている内容についての問い合わせは受けられない場合があります。

Copyright 1996-1998 Delphi Users' ForumFAQ編纂委員会