Access数据库创建后,想在创建表,要怎么做?急急急........(100分)

  • 主题发起人 主题发起人 liuhaoy
  • 开始时间 开始时间
L

liuhaoy

Unregistered / Unconfirmed
GUEST, unregistred user!
Access数据库创建后,想在创建表,要怎么做?急急急........
 
用代码还是?
 
with ADOQuery1 do
begin
close;
SQL.Clear;
SQL.Add('Create table test (qq1 int not null,qq2 text(10) not null)');
try
ExecSQL;
ShowMessage('创建表成功!');
except
ShowMessage('创建表失败!');
end;
end;
 
对不起新手,你写的这个我也知道.但是我不要在我刚创建好的数据库中创建一个表我要如把它们连起来啊
 
你把问题说明白点,你数据库没表,连啥呀
 
是啊,这我知道.
那难道就不能建表了吗?有没有知道应该如何做的.
 
问题没说清楚,能不能更详细一点! 你要连什么?

Access数据库创建后,想在创建表,要怎么做?急急急........

上面的问题不就是在Access 中建表, 别人已经用SQL语句建好, 只能说是你没说清楚了
 
try
with ADOQTemp do begin
close;
SQL.Clear ;
SQL.Add('Create Table '+TableName+'( '+fieldName+' Char(16))');
ExecSQL;
end ;
showinfo('数据表创建成功');
Except
showinfo('数据表创建失败');
Close;
Exit;
end;
 
adoquery要和我创建的数据库连吗?可是里边没有表啊
 
自己设置连接串不就可以了嘛, 设置ADOQuery 的ConnectionString属性就行了,或者另用一个ADOConnection就行了
连接串例:
ConStr:= 'Provider=Microsoft.Jet.OLEDB.4.0;' +
'Data Source=' + 数据库名(含路径) + ';Persist Security Info=False';
 
连是可以,但没面没有表.
 
楼主,肯定先要用一个Adoconnection 来连接ACCESS数据库呀,
连接后,再用楼上兄弟的建表代码就可以了,Create table
 
来自:liuhaoy, 时间:2006-6-11 14:13:59, ID:3468044
连是可以,但没面没有表.

没表你就动态建啊, 你的意思是不是Access这个库文件不存在啊? 麻烦你把问题完整清楚地说一遍, 不然谁都不会去猜你想干嘛
下面是建Access库的函数, 参数为文件名
Function CreateAccessDB(DBName: String): Boolean;
Var
CreateAccess: OleVariant;
begin
Result:= False;
if Not FileExists(DBName) then
begin
CreateAccess:= CreateOleObject('ADOX.Catalog');
CreateAccess.Create('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + DBName);
Result:= True;
end;
end;
 
里面没有表也可以连, 我连的是数据库又不是表, 和表有什么关系, 你又不是查询
你是建表!
 
对。如同上面的方法。用 Create Table 来创建。
 
procedure TForm1.Button1Click(Sender: TObject);
var
cat:OleVariant;
begin
try
begin
if FileExists('d:/'+'my.mdb') then
begin
MessageBox(Application.Handle,PChar('不能删除'+'d:/'+'my.mdb已经存在'),'delete database error!',mb_ok+mb_iconerror);
exit;
end
else
with ADOQuery2 do
begin
cat:=CreateOleObject('adox.catalog');
cat.create('provider=microsoft.jet.oledb.4.0;data source=d:/my.mdb');
end;
end;
finally


end;
end;


procedure TForm1.Button2Click(Sender: TObject);
begin
adoconnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:/my.mdb;Persist Security Info=False';
adoquery2.Close;

adoquery2.SQL.Text:='create table my'+
'('+
'classid int not null,'+
'classtitle char(100) not null,'+
'parentclassid int not null,'+
'classtype tinyint eefault 0'+
')';
adoquery2.ExecSQL;
end;


end.

提示:missing connection or connectionstring
这个问题如何解决啊?
 
Function CreateAccessDB(DBName: String): Boolean;
Var
CreateAccess: OleVariant;
begin
Result:= False;
if Not FileExists(DBName) then
begin
CreateAccess:= CreateOleObject('ADOX.Catalog');
CreateAccess.Create('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + DBName);
Result:= True;
end;
end;
或者些SQL语句吧
 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=3047846
 
提示:missing connection or connectionstring
这个问题如何解决啊?

adoquery2.Connection := ADOConnection1;
 
后退
顶部