Delphi可視化創建數據表格,手動創建數據表,其實在SQL管理器中也可以實現數據庫的各類操作,包括創建數據表,本例只是再次練手,熟練掌握Delphi與數據庫的操作,特寫了一個可視化的數據庫手工建表程序,僅供參考,以下是代碼:
01
unit
Unit1;
02
interface
03
uses
04
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
05
Dialogs, DBTables, DB, StdCtrls, DBCtrls, Grids, DBGrids;
06
type
07
TForm1 =
class
(TForm)
08
Table1: TTable;
09
Button1: TButton;
10
DBGrid1: TDBGrid;
11
Button2: TButton;
12
DataSource1: TDataSource;
13
procedure
Button1Click(Sender: TObject);
14
procedure
Button2Click(Sender: TObject);
15
private
16
{ Private declarations }
17
public
18
{ Public declarations }
19
end
;
20
var
21
Form1: TForm1;
22
implementation
23
{$R *.dfm}
24
procedure
TForm1
.
Button1Click(Sender: TObject);
25
var
26
AliasNames:TStringList;
//字符串列表變量
27
answer:
Integer
;
28
begin
29
AliasNames:=TStringlist
.
Create;
30
//數據庫別名的創建和配置
31
Session
.
GetAliasNames(AliasNames);
//取得別名列表
32
if
(AliasNames
.
IndexOf(
'朋友信息'
)>-
1
)
then
33
Begin
34
ShowMessage(
'"朋友信息"已經存在,請退出'
);
35
Button2
.
Enabled:=
True
;
36
end
;
37
if
(AliasNames
.
IndexOf(
'朋友信息'
)=-
1
)
then
//判斷別名是否存在
38
begin
39
answer:=Application
.
MessageBox(
'"朋友信息"不存在,要創建嗎?'
,
'BDE提示'
,mb_OKCancel);
40
if
answer=IDCANCEL
then
41
begin
42
AliasNames
.
Free;
43
Exit;
44
end
;
45
Session
.
AddStandardAlias(
'朋友信息'
,
'e:\','
Paradox');
//
46
Session
.
SaveConfigFile;
//BDE配置文件存盤
47
end
;
48
AliasNames
.
Clear;
//清除別名稱列表
49
//數據表格的創建
50
Session
.
GetTableNames(
'朋友信息'
,
''
,
False
,
False
,AliasNames);
//獲取數據庫下的表格信息
51
if
(AliasNames
.
IndexOf(
'mateInfo'
)=-
1
)
then
//判斷表格是否存在
52
begin
53
answer:=Application
.
MessageBox(
'"朋友信息"中不存在表格mateInfo,現在創建嗎?'
,
'表格信息窗口'
,mb_OKCancel);
54
if
answer=IDCANCEL
then
55
begin
56
AliasNames
.
Free;
57
Exit;
58
end
;
59
with
table1
do
60
begin
61
Active:=
false
;
62
DatabaseName:=
'朋友信息'
;
//數據庫別名
63
TableName:=
'mateInfo'
;
//表格名
64
TableType:=ttParadox;
//數據庫類型
65
with
FIEldDefs
do
66
begin
//增加字段
67
Clear;
68
Add(
'姓名'
,ftString,
10
,
False
);
//姓名
69
Add(
'年齡'
,ftString,
10
,
False
);
//年齡
70
Add(
'省份'
,ftString,
8
,
False
);
//省份
71
Add(
'收入'
,ftFloat,
0
,
False
);
//收入
72
end
;
73
with
IndexDefs
do
74
begin
//增加索引
75
Clear;
//姓名字段建立主索引
76
Add(
'matename'
,
'姓名'
,[ixPrimary,ixUnique]);
77
end
;
78
CreateTable;
//創建表格
79
end
;
80
end
;
81
AliasNames
.
free;
//釋放變量AliasNames
82
Button2
.
Enabled:=
True
;
83
end
;
84
procedure
TForm1
.
Button2Click(Sender: TObject);
85
begin
86
Table1
.
DatabaseName:=
'朋友信息'
;
87
Table1
.
TableName:=
'mateinfo'
;
88
Table1
.
Active:=
true
;
89
end
;
90
end
.
以下是可視化窗口,編譯後的效果圖: