如何动态建表,请高手指点!!(50分)

  • 主题发起人 主题发起人 Richard-sun
  • 开始时间 开始时间
R

Richard-sun

Unregistered / Unconfirmed
GUEST, unregistred user!
如何在程序中实现动态的创建一个ACCESS表格呢?
我在很多的书上看了一下,都好象只有,建PARADOX的,请
高手来指点迷津!谢谢
 
写sql语句,creaet table....
ExecSql
 
procedure TDMMain.CreateMDB(DBName: string); //系统需要安装MADAC
var
CreateAccess: OleVariant;
begin
CreateAccess := CreateOleObject('ADOX.Catalog');
CreateAccess.Create('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + DBName);
end;

然后可以使用TQuery。写入SQL 语句,Create Table TableName *****
 
用SQL,语法示例如下:
CREATE TABLE [TableName] (
[FieldName1] int not null,
[FieldName2] varchar(20) null,
[FieldName3] float ,
)
 
to 飘摇客
什么是MADAC?还有,在ADO中,用TADOQUERY可以吗
 
对于没有返回数据集的SQL最好用TADOCommand,当然用TADOQuery也可以。
 
能给点具体的例子吗
nb-swt@163.com
 
关注一下
 
不明白还要怎样具体?!
 
用SQL语句,例如:
ADOQUERY.SQL.Clear;
ADOQUERY.SQL.Add('CREATE TABLE ABC(A1 IDENTITY(1,1) PRIMARY KEY,A2 VARCHAR(10) NOT NULL )');
ADOQUERY.ExecSQL

 
给段参考的
w_dm.create_delete_temptable //窗体.TADOquery
with w_dm.create_delete_temptable do
begin
close;
sql.text:= 'if exists (select * from sysobjects where id = object_id(N' + '''[dbo].[' + temptable + ']''' + ') and OBJECTPROPERTY(id, N' + '''IsUserTable' + ''') = 1)'
+ ' drop table [dbo].[tblstoretemp]'
+ ' CREATE TABLE [dbo].[' + temptable + '] ('
+ ' [id] [decimal](18, 0) IDENTITY (1, 1) NOT NULL ,'
+ ' [goodsname] [varchar] (50) NULL ,'
+ ' [number] [decimal](18, 0) NULL ,'
+ ' [price] [money] NULL ,'
+ ' [unit] [varchar] (4) NULL ,'
+ ' [money] [money] NULL ,'
+ ' [state] [varchar] (16) NULL ,'
+ ' [sellnumber] [decimal](18, 0) NULL ,'
+ ' [cost] [money] NULL ,'
+ ' [sellmoney] [money] NULL ,'
+ ' [goodsid] [char](10) NULL ,'
+ ' [zhihao] [varchar] (12) NULL,'
+ ' [depname] [varchar] (20) NULL,'
+ ' [depid] [int] NULL'
+ ' ) ON [PRIMARY]';
execsql;
end;
 
后退
顶部