delphiでoracleデータベースにテーブルを作成する方法


まゆみ  2010-01-10 22:35:21  No: 36936  IP: 192.*.*.*

もう1点、お伺いしたことがあります。delphiのフォーム上にボタンを設置し、イベントプロシージャーのコードで、データベースにテーブル(名前もユーザが決定)を作成し、そして項目名・データの型を指定し、あらかじめからTEditを設置済みのフォームをテーブルの項目とつなぎ合わせた状態で表示するようなプログラムを作成することは可能でしょうか(つまり、ユーザがテーブルやフォームを追加できるようにするもの)?

SQL.ADD('CREATE...をつかって、テーブルを作成する部分)はできるのですが、ユーザ自由に項目数や型を操作できるようにする方法が、わたしにとって少々複雑で、可能かどうかもわからない現状です。参考意見を聞かせていただけませんか?

編集 削除
DEKO  2010-01-11 00:42:17  No: 36937  IP: 192.*.*.*

可能か不可能かで言えば可能です。

for i:=0 to Query1.FieldCount - 1 do
  // 処理

Query1.Fields[i].Name;     // フィールド名
Query1.Fields[i].DataType; // フィールドの種類
Query1.Fields[i].DataSize; // フィールドのサイズ

こうやって、テーブルのフィールドを調べて TEdit を動的作成してやればいいです。

フィールドを操作したい場合には SQL で 

"Alter Table 〜 Add 〜 "    // フィールドの追加
"Alter Table 〜 Modify 〜 " // フィールドの変更
"Alter Table 〜 Drop 〜 "   // フィールドの削除

ってやって、TEdit の動的作成をもう一度行えばいい事になります。

# Access とか FileMaker みたいなのを作りたいのでしょうか?

編集 削除