ACCESS

给你一个例子:DbName:数据库名称
procedure Tform1.CreateDb(DbName:
string);
var
Dbnew:OleVariant;
begin
if FileExists(DbName) then
begin
if MessageBox(Application.Handle,PChar('数据库 '
+ DbName + ' 已存在!'+ #13#10 +'是否覆盖?'),
'警告',MB_YESNO + MB_ICONWARNING) = idNo then exit;
if not DeleteFile(DbName) then
begin
MessageBox(Application.Handle,
PChar(
'不能删除数据库:' + DbName),
'错误',MB_OK + MB_ICONERROR);
exit;
end;
end;

dbnew:
=CreateOleObject('ADOX.Catalog');
dbnew.Create(
'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + DbName);
adoq1.ConnectionString:
='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='
+dbname+';Persist Security Info=False';
adoq1.Close;
adoq1.SQL.Text :
= 'Create Table 测试 (ID INT not null,'
+'姓名 char(8) not null,年龄 INT not null)';
adoq1.ExecSQL;
adoq1.Close;
adoq1.SQL.Text :
= 'Create UNIQUE Index IDIndex ON 测试 (ID)';
adoq1.ExecSQL;
adoq1.Close;
adoq1.SQL.Text :
= 'Create Index xmIndex ON 测试 (姓名)';
adoq1.ExecSQL;
adoq1.Close;
adoq1.SQL.Text :
= 'Create Index nlIndex ON 测试 (年龄)';
adoq1.ExecSQL;
MessageBox(Application.Handle,
PChar(
'数据库:' + DbName+'创建完成'),
'OK',MB_OK + MB_ICONWARNING);
end;
创建数据库DbName并且创建表:测试。

用ADO来创建,
uses  ComObj;
procedure TForm1.Create_Access;
var
  cat:OleVariant;
begin
  cat:=CreateOleObject('ADOX.Catalog');
  cat.Create('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\access1.mdb');
end;

Delphi7支持ADO(Microsoft ActiveX Data Objects)的支持,使得Delphi程序员可以彻底摆脱BDE,缩小软件分发的体积。但是Delphi的ADO组件不支持ActiveX Data Objects Extensions for Data Definition Language and Security(ADOX、ADO的扩展,用于创建、修改和删除模式对象,如表格和过程;操作安全对象,可用于维护用户和组,以及授予和撤消对象的权限) 和Jet and Replication Objects(JRO,用于对Jet数据库引擎添加压缩、同步复制等特征),这些功能在开发Access数据库往往比较重要。不过由于ADOX、JRO乃至ADO都是基于COM(Component Object Model,组件对象模型)的,可以调用COM来来实现这些功能。
delphi7中的使用方法:
方法一:

要求:开发平台或客户端需要安装MDAC
2.1数据库引擎,你可以从微软公司http://www.microsoft.com/data下载,也可以在安装IE5.0中选择定制安装“动态数据绑定”选项。
  在Delphi IDE中选择菜单ProjectImport Type Library,出现Import Type Library对话框,选择“Microsoft ADO Ext. 2.x for DDL and Security”,将Class Name中TTable改为TADOXTable(因为TTable组件在Delphi中已经存在并注册);选择“Microsof Jet and Replication Object 2.x Library”。然后单击“Install”安装,便在Delphi的Imports目录下生成ADOX_TLB.pas和JRO_TLB.pas两个文件。在Unit文件的Uses中加入ComObj、ADOX_TLB、JRO_TLB,就可以通过COM操作ADOX和JRO对象了。
这样在组件面板的activex中找到这些组件,放一个Catalog1到表单上,然后加个按钮,加入单击动作
procedure TForm1.Button1Click(Sender: TObject);
begin
Catalog1.Create1(’Provider
=Microsoft.Jet.OLEDB.4.0;Data Source=c:\new.mdb’);
end;
这样,我们简单的就实现了在c:\下建立一个新的access数据库new.mdb,你可以编译一下看看效果如何



方法二::通过OLE方式创建
在引用部分加入:
uses ComObj;
实现部分:
procedure TFormOffice.BitBtn1Click(Sender: TObject);
var
CreateAccess:OleVariant;
begin
CreateAccess:
=CreateOleObject('ADOX.Catalog');
CreateAccess.Create(
'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\Aceco.mdb');
end;

===============================================================================================================

创建表的方法(ole方法):

procedure TForm1.Button3Click(Sender: TObject);
var
ConnectAccess:OleVariant;
CreateMyTable:OleVariant;
begin
ConnectAccess:
=CreateOleObject('ADOX.Catalog');
ConnectAccess.ActiveConnection:
='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ExtractFileDir(Application.Exename)+'\data\'+Edit2.Text;

CreateMyTable:
=CreateOleObject('ADOX.Table');
CreateMyTable.Name:
=Edit3.Text;
CreateMyTable.Columns.Append(Edit4.Text,adInteger);
CreateMyTable.Columns.Append(Edit5.Text,adVarWChar,
50);
ConnectAccess.Tables.Append(CreateMyTable);
end;

以下是字段常量参数表

常量 说明
adTinyInt 精确的数字值,精度为小数点后
3 位。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。
AdSmallInt 精确数字值,精度为小数点后
5 位。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。
AdInteger 精确数字值,精度为小数点后
10 位。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。
AdBigInt 精确数字值,精度为小数点后
19 位。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。
AdUnsignedTinyInt 无符号的 adTinyInt。
AdUnsignedSmallInt 无符号的 adSmallInt。
AdUnsignedInt 无符号的 adInteger。
AdUnsignedBigInt 无符号的 adBigInt。
AdSingle 单精度浮点数。
AdDouble 双精度浮点数。
AdCurrency 货币类型。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。
AdDecimal 变体型十进制类型。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。
AdNumeric 数值类型。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。
AdBoolean 变体布尔类型。
0 为假而 ~0 为真。
AdUserDefined 用户定义的变量长度数据类型。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。
AdVariant 自动变体型。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。
AdGuid 全域唯一标识符。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。
AdDate 自动日期。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。
AdDBDate 数据库日期数据结构。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。
AdDBTime 数据库时间数据结构。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。
AdDBTimestamp 数据库时间戳结构。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。
AdBSTR BSTR 的指针。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。
AdChar 定长字符串。
AdVarChar 变长字符串。
AdLongVarChar 长变长字符串。
AdWChar 宽定长字符串。
AdVarWChar 宽变长字符串。
AdLongVarWChar 长、宽变长字符串。
AdBinary 定长二进制数据。
AdVarBinary 变长二进制数据。
AdLongVarBinary 长变长二进制数据。



说明

默认值是 adVarWChar。

在 Column 对象追加到集合或到另一个对象之前,该属性是可读
/写的,而在追加之后是只读的。

posted on 2011-04-17 10:02  xxmcu  阅读(483)  评论(0编辑  收藏  举报

导航