我已知道怎样建ACCESS库了,现在请告诉我怎样建ACCESSS表?(100分)

  • 主题发起人 主题发起人 子龙
  • 开始时间 开始时间

子龙

Unregistered / Unconfirmed
GUEST, unregistred user!
在程序中实现
再介绍一下ACCESS表的字段
再问,ACCESS表的字段能否用中文
 
肯定可以用中文
其它不懂
 
sql实现:
create table mytable (field1 varchr(10),field2 bit);
 
TempLm:=TTable.Create(Self);
with TempLm do begin
DatabaseName:='Gzk';
TableName:='TempLm';
TableType:=ttdefault;
with FieldDefs do begin
Add('Lm_Sort',ftSmallInt,0,True);
Add('Lm_Name',ftString,10,False);
Add('Lm_Type',ftString,10,False);
Add('Lm_Width',ftSmallInt,0,False);
end;
IndexDefs.Add('PrimaryKey','Lm_Sort',[ixPrimary,ixUnique]);
CreateTable;
end;
我是这样建access的, 请参考。
 
李维同志的ado/mts书中有讲到的啦,用adox对象很easy搞定的。只是一下子难以理解罢了
 
就通过Query或ADOQuery的SQL属性即可,只是需注意与其他类型数据库的数据类型差异。
例如,下面是我在一个软件中利用已有数据(dmADODataSetAll)创建临时表(dmcAllDataTmpTbl)的源程序节录。其中Dm为数据模块,dmExecSQLCommand为执行一条SELECT语句的简单过程。
procedure CreateTempTable;
const
dmcAllDataTmpTbl: string = '_tmpAccessTbl';
var
I: integer;
FldName: string;
begin
try dmExecSQLCommand('DROP TABLE ' + dmcAllDataTmpTbl); except; end;
with Dm.dmADOQueryDataAll do
begin
Active := False;
SQL.Clear;
SQL.Add('CREATE TABLE ' + dmcAllDataTmpTbl + ' (');
for I := 0 to Dm.dmADODataSetAll.Fields.Count - 1 do
begin
FldName := StringReplace(Dm.dmADODataSetAll.Fields.DisplayName,
' ', '', [rfReplaceAll]);
FldName := StringReplace(Dm.dmADODataSetAll.Fields.DisplayName,
' ', '', [rfReplaceAll]);
if Dm.dmADODataSetAll.Fields is TIntegerField then
SQL.Add(' ' + FldName + ' INT,')
else if Dm.dmADODataSetAll.Fields is TFloatField then
SQL.Add(' ' + FldName + ' NUMERIC,')
else if (Dm.dmADODataSetAll.Fields is TDateField) or
(Dm.dmADODataSetAll.Fields is TTimeField) or
(Dm.dmADODataSetAll.Fields is TDateTimeField) then
SQL.Add(' ' + FldName + ' DATETIME,')
else
SQL.Add(' ' + FldName + ' CHAR(' +
IntToStr(Dm.dmADODataSetAll.Fields.DisplayWidth) + '),')
end;
SQL.Strings[SQL.Count-1] := StringReplace(SQL.Strings[SQL.Count-1],
',', '', [rfReplaceAll]);
SQL.Add(')');
ExecSQL;
Close;
end;
end;
 
procedure Tcreatform.Button1Click(Sender: TObject);
var
name,fieldstr: shortstring;
begin

adotable1.Active:=false;
name:=edit1.Text;
adoquery1.close;
adoquery1.SQL.Clear;
str:='CREATE TABLE ';
str:=str+name;
str:=str+'(编号 IDENTITY(1,1) PRIMARY KEY,姓名 VARCHAR(10) NOT NULL';
str:=str+ str1+')';
fieldstr:=str;
adoquery1.SQL.add(fieldstr);
adoquery1.ExecSQL;
end;
 
Access直接支持用SQL脚本建本,相关的东东看一下SQL的参考书。
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部