求助!关于adoconnection用ini连接的问题,谢谢!
app.ini文件内容
[database]
dbname=MicroInfo
serverip=192.168.2.6
user=sa
password=199781
语句内容
procedure TForm1.Button1Click(Sender: TObject);
var
myinifile:Tinifile;
filename,v_u,v_i,v_d,v_p:string;
begin
Filename:=ExtractFilePath(Paramstr(0))+'app.ini';
myinifile:=Tinifile.Create(Filename);
v_u:=myinifile.readstring('database','user','');
v_i:=myinifile.readstring('database','serverip','');
v_d:=myinifile.readstring('database','dbname','');
v_p:=myinifile.readstring('database','password','');
adoconnection1.Connected:=false;
adoconnection1.Close;
adoconnection1.ConnectionString:='Provider=SQLOLEDB.1;Persist Security Info=true;User ID='+v_u+';Initial Catalog='+v_i+';Data Source='+v_d+';password='+v_p+'';
adoconnection1.Connected:=true;
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select* from MC_Dept');
adoquery1.Open;
end;
运行后,我点击button事件后会弹出adoconnection database连接对话框,要求我输入数据库密码,要怎么操作可以直接连接数据库;后面还出现了一个对话框:
project project1.exe raised exception class EOleException with message '[DBNETLIB][ConnectionOpen(Connect()).]SQL Server不存在或拒绝访问。'
谢谢各位帮我看看是什么问题呢,如果语句有问题,请帮我改正一下。谢谢!
[解决办法]
设置adoconnection1.LoginPrompt:=False;就不会提示输入密码了
在adoconnection1.Connected:=true;之前用showmessage(adoconnection1.ConnectionString);
看看连接字符串对不对,不对再找原因
[解决办法]
直接在AdoConnection1控件的属性页把LoginPrompt属性设置为False,应该就可以了.
[解决办法]
Provider=SQLOLEDB;Password=youpas;User ID=youid;Initial Catalog=youDBname;Data Source=youPCName or IP
检查ConnectionString
或者 你的数据库 没有开启
或者你的密码过期 错误
[解决办法]
AdoConnection1控件的LoginPrompt属性设置为False,就不会有提示输入密码了
应该是你用户名和密码不对