cnn.ini文件如下:
[server]
dataServer=user
Database=greyclothsystem ()
User ID=sa
Password=richarduser为我的计算机名,PB1为我的数据库服务器名,出现‘用户User登录失败’procedure TDM.DataModuleCreate(Sender: TObject);
var
strCnn: WideString;
iniFile: TIniFile;
strDatabase, strDataServer, strUserID, strPW: string;
strTemp: string;
begin
strTemp := ExtractFilePath(ParamStr(0)) + 'data\cnn.ini';
try
iniFile := TIniFile.Create(strTemp);
strDataServer := iniFile.ReadString('Server', 'DataServer', '');
strDatabase := iniFile.ReadString('Server', 'Database', '');
strUserID := iniFile.ReadString('Server', 'User ID', '');
strPW := iniFile.ReadString('Server', 'Password', '');
finally
iniFile.Free;
end;
strCnn := 'Provider=SQLOLEDB.1;Password=' + strPW;
strCnn := strCnn + ';Persist Security Info=True;User ID=';
strCnn := strCnn + strUserID;
strCnn := strCnn + ';Initial Catalog=' + strDatabase;
strCnn := strCnn + ';Data Source=' + strDataServer;
try
with DM.conn do
begin
Connected := False;
ConnectionString := strCnn;
Connected := True;
end;
except
MessageBox(0, '连接数据库失败'#13'请确认数据库程序是否启动', '系统提示', MB_ICONERROR);
Halt(0);
end;
end;
[server]
dataServer=user
Database=greyclothsystem ()
User ID=sa
Password=richarduser为我的计算机名,PB1为我的数据库服务器名,出现‘用户User登录失败’procedure TDM.DataModuleCreate(Sender: TObject);
var
strCnn: WideString;
iniFile: TIniFile;
strDatabase, strDataServer, strUserID, strPW: string;
strTemp: string;
begin
strTemp := ExtractFilePath(ParamStr(0)) + 'data\cnn.ini';
try
iniFile := TIniFile.Create(strTemp);
strDataServer := iniFile.ReadString('Server', 'DataServer', '');
strDatabase := iniFile.ReadString('Server', 'Database', '');
strUserID := iniFile.ReadString('Server', 'User ID', '');
strPW := iniFile.ReadString('Server', 'Password', '');
finally
iniFile.Free;
end;
strCnn := 'Provider=SQLOLEDB.1;Password=' + strPW;
strCnn := strCnn + ';Persist Security Info=True;User ID=';
strCnn := strCnn + strUserID;
strCnn := strCnn + ';Initial Catalog=' + strDatabase;
strCnn := strCnn + ';Data Source=' + strDataServer;
try
with DM.conn do
begin
Connected := False;
ConnectionString := strCnn;
Connected := True;
end;
except
MessageBox(0, '连接数据库失败'#13'请确认数据库程序是否启动', '系统提示', MB_ICONERROR);
Halt(0);
end;
end;
Connected := True;这句前把strCnn显示出来看看是否正确,懂吗
ConnectionString := strCnn;
showmessage(strcnn);
Connected := True;
filename: string;
tempstr:string;
begin
filename := ExtractFilePath(paramstr(0)) + 'dbconf.ini';
myinifile := Tinifile.Create(filename); tempstr := myinifile.ReadString('dbconf', 'connectstring', '');
dm.adoconmain.Close ;
dm.adoconmain.LoginPrompt :=false;
dm.adoconmain.ConnectionString := tempstr ; dm.adoconmain.Connected :=true;
try
dm.adoconmain.Connected := true;
except
dm.adoconmain.ConnectionString := 'Provider=SQLOLEDB.1;Password=siwi;Persist Security Info=True;User ID=sa;Initial Catalog=ICBC;Data Source=15.64.1.98';
dm.adoconmain.Connected := true;
end;
if dm.adoconmain.Connected = false then
showmessage('不能打开您所指定的数据库!');
// ActiveX.coUnInitialize;end;
注意在付值前的设置
dm.adoconmain.Close ;
dm.adoconmain.LoginPrompt :=false;
dm.adoconmain.ConnectionString := tempstr ; dm.adoconmain.Connected :=true;
+'Persist Security Info=False;User ID=%s;'
+'PassWord = %s;Initial Catalog=%s;Data Source=%s',
[DBUser,DBPassW,DBName,DBServer]);
另外,应该在OnBeforeConnect事件中进行连接.