我用的是ACCESS 数据库, TEST,SAMPLE 都有密码,
其中ADOConnection1连接test,
ADOConnection2连接SAMPLE,
Adoquery3连接ADOConnection2
要求把数据库SAMPLE的表A1拷贝到数据库test中我执行的以下代码Adoquery3.Close;
Adoquery3.SQL.Clear ;
Adoquery3.SQL.Add('insert into TEST.mdb.a1 SELECT * FROM SAMPLE.mdb.A1');
Adoquery3.ExecSQL ; 系统提示密码不正确,
请问怎样解决,
或者有其他方法吗?(把数据库SAMPLE的表A1拷贝到数据库test中
)
其中ADOConnection1连接test,
ADOConnection2连接SAMPLE,
Adoquery3连接ADOConnection2
要求把数据库SAMPLE的表A1拷贝到数据库test中我执行的以下代码Adoquery3.Close;
Adoquery3.SQL.Clear ;
Adoquery3.SQL.Add('insert into TEST.mdb.a1 SELECT * FROM SAMPLE.mdb.A1');
Adoquery3.ExecSQL ; 系统提示密码不正确,
请问怎样解决,
或者有其他方法吗?(把数据库SAMPLE的表A1拷贝到数据库test中
)
首先放置一个ADOConnection控件ADOConnection1;
然后双击该控件,在弹出窗口中选择build..按钮;
在弹出的“数据连接属性”框中的“提供程序”页选择并双击:“Microsoft Jet 4.0 OLE DB Provider”到连接页;
选择或输入数据库名称,测试一下就OK了;
如果有密码,就选择“所有”页,双击:Jet OLEDB:Database Password,在属性值中输入你的密码。
LoginPrompt设为false,就不会弹出密码框了。然后放置一个ADOQuery1,将Connection 设为ADOConnection1;
在SQL属性上点三个点的小按钮,输入:select * from 表名;再放一个DataSource1:
Dataset属性设为ADOQuery1;再放一个DBGrid1:
DataSource属性设为DataSource1;选择ADOQuery1,将Active设为True;DBGrid1中是不是显示了数据。(完,给分)更多事例见:http://www.kaer.cn/default.aspx
Const ConnectStr = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;Persist Security Info=False;Jet OLEDB:Database Password=%s';
...
procedure TForm1.Button1Click(Sender: TObject);
begin
AdoConnection1.ConnectionString:=format(ConnectStr,[AppPath+'DB\aa.mdb','aaa']);
//showmessage(AdoConnection1.ConnectionString);
AdoConnection1.Connected :=true;
end;
Const ConnectStr = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;Persist Security Info=False;Jet OLEDB:Database Password=%s';
...procedure TForm1.Button1Click(Sender: TObject);
begin
AdoConnection1.ConnectionString:=format(ConnectStr,[AppPath+'DB\aaa.mdb','aaa']);
// showmessage(AdoConnection1.ConnectionString);
try
AdoConnection1.Connected :=true;
except
...
end;
end;
不知道错在哪里?
ADOConnection11.ConnectionString :=
'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+
ExtractFilePath(ParamStr(0)) + 'source.mdb'+
';Persist Security Info=False;Jet OLEDB:Database Password=illusion2003'; ADOConnection1.Open;ADOConnection2.ConnectionString :=
'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+
ExtractFilePath(ParamStr(0)) + 'EDR2002.mdb'+
';Persist Security Info=False;Jet OLEDB:Database Password=illusion2003';
ADOConnection2.Open;
但当我执行
'insert into TEST.mdb.a1 SELECT * FROM SAMPLE.mdb.A1‘
是就出现提示“密码无效”,
如果我把SAMPLE 的密码删除,一切正常。我现在有以下想法:
因为我用ADOQuery3来执行'insert into TEST.mdb.a1 SELECT * FROM SAMPLE.mdb.A1‘,
而ADOQuery3 与TEST数据库相连,密码通过ADOConnection1可以验证,SMAPLE与ADOConnection2相连,在这里不能通过验证(ADOQuery3与ADOConnection1相连)。
是不是在SQL语句需要加上什么?因为小弟能力有限,还望各位帮忙帮忙!
谢谢!