个人看法: 用ado有ado好,用odbc有odbc的好处,odbc灵活,ado简单快速! 但有一个问题是,用odbc时,如果c/s模式的c端移动到另一台机子时就比较麻烦了, 要求用户注册数据源,非常不利,而ado就没有这个限制。如果想s端移动时也不修改太多,增加灵活性的话,可以把连接参数保存到文件里,在程序初始化时读入,s端移动后(比如分离数据库后在附加到另一台服务器上),那么只需修改参数文件里的数据源参数就可以了,非常灵活!我以前做过这样的数据库系统,把相关一些代码给你参考,希望对你有帮助: scdb.ini文件: [DataBase] ConnectionString=Provider=SQLOLEDB.1;Password=bbc;Persist Security Info=True;User ID=sa;Initial Catalog=scdb;Data Source=2spc38初始化的主要代码: procedure Tf_main.FormCreate(Sender: TObject); var strResult: array[0..255] of Char; dirstr:string; pfilename:pchar; begin dirstr:=getcurrentdir(); dirstr:=dirstr+'\scdb.ini'; pfilename:=PChar(dirstr); GetPrivateProfileString('DataBase','ConnectionString','error',strResult,255, pfilename); if (strResult<>'error') then begin ADOCon.ConnectionString:=strResult; ADOCon.Open; end else begin showmessage('连接数据库出错,请检查数据库配置文件:scdb.ini是否正确!'); Application.Terminate; end end;
我认为最好用ODBC进行连接,这只是个人意见。
用ado有ado好,用odbc有odbc的好处,odbc灵活,ado简单快速!
但有一个问题是,用odbc时,如果c/s模式的c端移动到另一台机子时就比较麻烦了,
要求用户注册数据源,非常不利,而ado就没有这个限制。如果想s端移动时也不修改太多,增加灵活性的话,可以把连接参数保存到文件里,在程序初始化时读入,s端移动后(比如分离数据库后在附加到另一台服务器上),那么只需修改参数文件里的数据源参数就可以了,非常灵活!我以前做过这样的数据库系统,把相关一些代码给你参考,希望对你有帮助:
scdb.ini文件:
[DataBase]
ConnectionString=Provider=SQLOLEDB.1;Password=bbc;Persist Security Info=True;User ID=sa;Initial Catalog=scdb;Data Source=2spc38初始化的主要代码:
procedure Tf_main.FormCreate(Sender: TObject);
var
strResult: array[0..255] of Char;
dirstr:string;
pfilename:pchar;
begin
dirstr:=getcurrentdir();
dirstr:=dirstr+'\scdb.ini';
pfilename:=PChar(dirstr);
GetPrivateProfileString('DataBase','ConnectionString','error',strResult,255, pfilename);
if (strResult<>'error')
then
begin
ADOCon.ConnectionString:=strResult;
ADOCon.Open; end
else
begin
showmessage('连接数据库出错,请检查数据库配置文件:scdb.ini是否正确!');
Application.Terminate;
end
end;
那台机器必须有sql server 并且有你索要的database 然后你再配置一下你的连接
就可以了
如果觉得不会的话,你可以直接操作udl文件来做到,那样方便多了。