关于Access的问题(100分)

  • 主题发起人 主题发起人 shxcn
  • 开始时间 开始时间
S

shxcn

Unregistered / Unconfirmed
GUEST, unregistred user!
本人想在delphi中,通过sql语言,在Access中的新数据库。
 
建表可以用Create Table

语法
CREATE TABLE table (field1 type [(size)] [NOT NULL] [index1] [, field2 type [(size)] [NOT NULL] [index2] [, ...]] [, CONSTRAINT multifieldindex [, ...]])
CREATE TABLE 语句分为以下几个部分:
部分 说明
table 欲创建的表的名称。
field1, field2 在新表中欲创建的字段的名称。至少必须创建一个字段。
type 在新表中的字段的数据类型。
size 字段的字符长度 (文本及二进制字段)。
index1, index2 定义单一字段索引的 CONSTRAINT 子句。关于如何创建此索引的详细信息,请参阅 CONSTRAINT 子句主题。
multifieldindex 子句定义多重字段索引的 CONSTRAINT 。关于如何创建此索引的详细信息,请参阅 CONSTRAINT 子句主题。
说明
使用 CREATE TABLE 语句来定义新表及它的字段以及字段条件。如果将一字段指定为 NOT NULL,则新记录的该字段值必须是有效的数据。
CONSTRAINT 子句在字段上可创建不同的限制,并可用来建立主键。还可用 CREATE INDEX 语句在现有的表上创建主键或附加索引。
可以在单一字段上使用 NOT NULL,或在用于单一字段或多重字段(名为 CONSTRAINT) 的 CONSTRAINT 子句中使用 NOT NULL。但是,在一字段上只能使用 NOT NULL 一次,否则将发生运行时错误。


建数据库可以用以下函数:
function GetTempPathFileName():string;
var
SPath,SFile:array [0..254] of char;
begin
GetTempPath(254,SPath);
GetTempFileName(SPath,'~SM',0,SFile);
result:=SFile;
DeleteFile(result);
end;
function CreateAccessFile(FileName:String;PassWord:string=''):boolean;
//建立Access 2000(.mdb)文件,如果文件存在则失败
var
STempFileName:string;
vCatalog:OleVariant;
begin
STempFileName:=GetTempPathFileName;
try
vCatalog:=CreateOleObject('ADOX.Catalog');
vCatalog.Create(format(SConnectionString,[STempFileName,PassWord]));
result:=CopyFile(PChar(STempFileName),PChar(FileName),false);
DeleteFile(STempFileName);
except
result:=false;
end;
end;
 
vCatalog.Create(format(SConnectionString,[STempFileName,PassWord]));
中SConnectionString是干什么用的,在哪儿定义?
 
我知道SconnectionString用来干吗的,但不知道把[STempFileName,PassWord]因该
Format成什么类型。请告知,谢谢。
 
SConnectionString = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;'
+'Jet OLEDB:Database Password=%s;';
//忘了写了:)
 
ok,搞定。以后有事再请教。
shxcn@sina.com
 
后退
顶部