现在我想通过编写代码去实现这个和access数据库连接的问题,代码如下:
with ADOConnection1 do
begin
ConnectionString := 'Provider = MicroSoft.jet.OLEDB.4.0;'+
'Persist Security Info = False'+
'Data Source=D:\*.mdb;'+//数据库本地目录
'Mode = ReadWrite;'+
'Jet OLEDB:Database Password=*****;'// 加入密码
Connected := True;//Open DataBase
end;这段代码可以用button触发吗?还是说窗体建立的时候就可以触发了.如果都不是这段代码应该放在哪个位置让它运行?我按照这段代码编写程序后运行出错?是不是代码有误??还有个问题,通过相对路径去连接应该怎么去改,请各位指教.
with ADOConnection1 do
begin
ConnectionString := 'Provider = MicroSoft.jet.OLEDB.4.0;'+
'Persist Security Info = False'+
'Data Source=D:\*.mdb;'+//数据库本地目录
'Mode = ReadWrite;'+
'Jet OLEDB:Database Password=*****;'// 加入密码
Connected := True;//Open DataBase
end;这段代码可以用button触发吗?还是说窗体建立的时候就可以触发了.如果都不是这段代码应该放在哪个位置让它运行?我按照这段代码编写程序后运行出错?是不是代码有误??还有个问题,通过相对路径去连接应该怎么去改,请各位指教.
adocuser.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=C:\Documents and Settings\xiaolu\桌面\pp\user.mdb; //ACCESS数据库文件的路径
Persist Security Info=True;
Connected:=True;
end;end.这样写为什么不行?
adocuser.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;
Data Source='''C:\Documents and Settings\xiaolu\桌面\pp\user.mdb'''; //ACCESS数据库文件的路径
Persist Security Info=True';
Connected:=True;
end;end.
再试试
自己写好后用showmessage看看ConnectionString是否正确
[Error] Unit1.pas(29): Unterminated string
[Error] Unit1.pas(30): Missing operator or semicolon
[Error] Unit1.pas(30): ':=' expected but '=' found
[Error] Unit1.pas(31): Undeclared identifier: 'Persist'
[Error] Unit1.pas(31): Missing operator or semicolon
[Error] Unit1.pas(34): Missing operator or semicolon
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'
procedure TForm1.Button1Click(Sender: TObject);
begin
with adocuser do
begin
Connected := False;
ConnectionString := 'Provider=MicroSoft.Jet.OLEDB.4.0;'+
'Data Source=C:\Documents and Settings\xiaolu\桌面\pp\user.mdb;'+
'Persist Security Info=False';
Connected := True;
end;
end;
2)相对路径可以用函数Extractfilepath(application.exename),例如
Data Source=Extractfilepath(application.exename)+'user.mdb'
3)你写的那个ConnectionString 好像有两个问题吧,在Persist Security Info = False后面少了一个“;”;在Jet OLEDB:Database Password中的“;”应该改成“;”吧。你再试试吧
[Error] Unit1.pas(29): Unterminated string
[Error] Unit1.pas(30): Missing operator or semicolon
[Error] Unit1.pas(30): ':=' expected but '=' found
[Error] Unit1.pas(31): Undeclared identifier: 'Persist'
[Error] Unit1.pas(31): Missing operator or semicolon
[Error] Unit1.pas(34): Missing operator or semicolon
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'
----------------------------------------------------------晕
不好意思
没看换行
呵呵
其实主要就是引号的问题
都试试就ok了
begin
adocuser.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;'+
'Data Source=.\user.mdb;'+
'Persist Security Info=false'+
'adocuser.LoginPrompt:=False';
showmessage(adocuser.ConnectionString);
adocuser.Connected:=True;
end;end.
还是一样选择不了tablename值,这样我的dbgrid就显示不了数据了,晕^^
begin
with ADOConnection1 do
begin
Connected := False;
LoginPrompt:=False;
ConnectionString := 'Provider=MicroSoft.Jet.OLEDB.4.0;'+
'Data Source=C:\db1.mdb;'+
'Persist Security Info=False';
Connected := True;
end;
DataSource1.DataSet:=ADOTable1;
DBGrid1.DataSource:=DataSource1;
with ADOTable1 do
begin
Close;
Connection:=ADOConnection1;
TableName:='test';
Open;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
adocuser.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;'+
'Data Source=.\user.mdb;'+
'Persist Security Info=false'+
'adocuser.LoginPrompt:=False';
showmessage(adocuser.ConnectionString);
adocuser.Connected:=True;
ADOTable1.Connection:=adocuser;
ADOTable1.TableName:='Users';
ADOTable1.Open;
end;end.
procedure TForm1.Button1Click(Sender: TObject);
begin
ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;'+
'Data Source=C:\Documents and Settings\fchnipj\桌面\pj6\user.mdb;'+
'Persist Security Info=false';
ADOConnection1.LoginPrompt:=False;showmessage(ADOConnection1.ConnectionString);
ADOConnection1.Connected:=True;
ADOTable1.close;
ADOTable1.Connection:=ADOConnection1;
ADOTable1.TableName:='Users';
ADOTable1.Open;
end;end.