我在一个数据库应用程序中,在用户输入sql server数据库服务器机器名的情况下,先用clientsocker与serversocket通信,取得sql server数据库的数据库名、用户名以及用户密码。当应答完成后,再调用datam页面中自己写的initdatabase函数连接数据库:
initdatabase函数: datam.cnn1.Close;
try
datam.cnn1.ConnectionString:='Provider=SQLOLEDB.1; Password='+password+'; Persist Security Info=False; User ID='+SaName+'; Initial Catalog=charge2; Data Source='+dserver+';';
except
login.ok:=false;//设置登陆页面的标志变量
end;
datam.cnn1.Open; 在登陆页面是这样调用的:
datam.initdatabase;
if ok then.....
else label5.caption:='数据库连接失败'; 可程序运行时老是在datam.initdatabase处报错,不能按照预计的执行,这是为什么呢,该怎么改
initdatabase函数: datam.cnn1.Close;
try
datam.cnn1.ConnectionString:='Provider=SQLOLEDB.1; Password='+password+'; Persist Security Info=False; User ID='+SaName+'; Initial Catalog=charge2; Data Source='+dserver+';';
except
login.ok:=false;//设置登陆页面的标志变量
end;
datam.cnn1.Open; 在登陆页面是这样调用的:
datam.initdatabase;
if ok then.....
else label5.caption:='数据库连接失败'; 可程序运行时老是在datam.initdatabase处报错,不能按照预计的执行,这是为什么呢,该怎么改
try
datam.cnn1.ConnectionString:='Provider=SQLOLEDB.1; Password='+password+'; Persist Security Info=False; User ID='+SaName+'; Initial Catalog=charge2; Data Source='+dserver+';';
datam.cnn1.Open; //移到这里
except
login.ok:=false;//设置登陆页面的标志变量
end;
try
datam.cnn1.ConnectionString:='Provider=SQLOLEDB.1; Password='+password+'; Persist Security Info=False; User ID='+SaName+'; Initial Catalog=charge2; Data Source='+dserver+';';
datam.cnn1.Open; //移到这里
except
login.ok:=false;//设置登陆页面的标志变量
end;
datam.cnn1.Close;
try
datam.cnn1.ConnectionString:='Provider=SQLOLEDB.1; Password='+password+'; Persist Security Info=False; User ID='+SaName+'; Initial Catalog=charge2; Data Source='+dserver+';';
datam.cnn1.Open;
except
login.ok:=false;//设置登陆页面的标志变量
end;