请问Delphi5怎样联SQL Server 2000的数据库(50分)

  • 主题发起人 主题发起人 archy
  • 开始时间 开始时间
A

archy

Unregistered / Unconfirmed
GUEST, unregistred user!
请问Delphi5怎样联SQL Server 2000的数据库
 
用TDatabase或TADOConnection连接就行了.
 
用 TADOConnection
 
用ADO也可以,BDE也行,看你的要求,
如果是ADO,建议升级到ADO 2.7,(上www.microsoftcom找吧)
如果是BDE,建议升级到BDE 5.2 (www.borland.com有下)
 
bde,odbc,ado,都可以放上控件看看就明白了
 
买一本李维的书看看.
 
连微软的东西用ado,准没错(sqlserver,aceess,excel.....)
 
ado或bde均可
 
我知道ADO可以联,DAO不知可不可以连接呢?
 
先在odbc源建立数据源,然后出现在bde中,这样在数据控件中便可引用
 
thank u to all
and see 老蔡 again,haha
 
我是先在odbc源建立数据源,然后用database通过bde连。或用ado直接连
 
用ADOCOnnection控件,双击,点Build。选择Microsoft OLE DB provider for SQL Server,点next
然后写入服务器名,认证方式,数据库名,OK了。
再用ADODataSet的Connection属性连ADOConnection1,双击CommandText自己看吧。
 
TADOConnection连接就行
 
TADOConnection
 
dao可以连吗?没听过。
 
当然用ADO连接了
 
to give score late,thank u to all
 
有几种连接到Sql server的办法, 一是用ODBC连接, 二是用BDE的MSSQL驱动来连接,
还有用ADO来连接

一.用ODBC连接SQL server2000的方法:
用户DSN:
These data sources are local to a computer, and can be used only by the current user.
限制于一台机器,且只能被当前用户使用。
系统DSN:
These data sources are local to a computer, rather than dedicated to a user. The system, or any user having privileges, can use a data source set up with a system DSN.
只限于一台机器,不限于某个用户。系统管理员或任何有权限的用户都可以使用。

文件DSN:
These are file-based data sources that can be shared among all users that have the same drivers installed, so they have access to the database. These data sources need not be dedicated to a user or local to a computer.
基于文件的数据源,可被所有安装了相同的驱动程序的用户共享,
进而访问数据库。文件数据源不被指定为某个用户或某台机器。


1.如果安装ODBC,
1)打开控制面版中的ODBC图标
2)单击用户DSN (user DSN)或者系统DSN(System DSN)标签,再单击按钮,
在弹出的对话框中列表框中找到SQL Server驱动程序,选中后单击完成(或close)按钮,
然后输入输入数据源的名字 Name: myname
描述(description)可不输入内容.
再输入SQL server服务器名(Server): YouServerName
注意: 本地sql server服务器可输入 . 或 (local)即可
以后的步骤是有提示的, 自己按提示进行即可,若有问题请反复摸索。

按完成->用户DSN (user DSN)或者系统DSN(System DSN)标签就多了你刚输入的
myname 这一个dsn(data source name)了。
在delphi 的BDEadministrator 或者 SQL explorer中就多了一点别名:myname
你就可以在程序使用此别名了。
2.SQL server 7 有桌面版,Sql server 2000有个人版,都可以安装在
非NT server平台,比如:win98, nt4 workstation, win2000 professional中。

如果数据库不复杂的话(无存储过程,触发器等),你也可以先用dbf, paradox或
access设计好后,当然要设别名(alias name),最后用datapump将dbf, paradox或
access的库内容倒入SQL server 中, 最后只要用odbc建的Dsn的名字用dbf等库的
别名相同,即可用了。

最后, 你也可以写程序代码来设置ODBC, 代码可以在本论坛中搜索

3.程序中当然什么都可以用,请多学习吧


二.用ADO连接sql server的方法:
可以不必设置ODBC(也可以设,多此一举了),具体方法如下:
注意ADO 面板中有ADOConnection , ADODataSet, ADOTable, ADOQuery
这四个控件,它们都有connectionstring 属性,将这四个控件中任何一个
放在一个窗体上或DataModule中,
1)双击connectionstring 属性,再单击Build按钮
2)在Provider面板中选中 Microsoft OLE DB Provider for SQL Server
3)再单击Next按钮则进入Connection, 再在其中输入SQL Server的服务器名(Sever Name),
输入Login ID 及password, 然后选择输入你要连接上的DataBase,之后单击
Test Connection按钮, 若本步输入无误的话,将提示你测试成功!
4)多次按 确定或OK 按钮退出即可。
5)若用ADOConnection1已经连接成功,也可直接将其它三个控件的Connection
属性中直接设置为ADOConnection1,它们即可使用,
另外,ADODataSet, ADOTable, ADOQuery与普通的Table和Query用法相同

三.用BDE方式连接
是在BDE Administrator中建立MSSQL的别名,可以手工设置(略), 也可以写点代码:
var
GetAlias: TStringList;
ServerStr: String;
begin
serverStr:='xxxxxxxxxx'; //你的机器的名称.
//建立别名
GetAlias:=TStringList.Create;
Session.GetAliasNames(GetAlias); //取得别名列表。
if GetAlias.IndexOf(AliName)<>-1 then
begin
Session.DeleteAlias(AliName);
Session.SaveConfigFile;
end;
try
Session.AddStandardAlias(AliName,'','MSSQL');
Session.SaveConfigFile;
//modify para
GetAlias.Clear;
GetAlias.Add('User name=sa');
GetAlias.Add('SQLQRYMODE=SERVER');
GetAlias.add('Server name='+ServerStr);
GetAlias.add('DataBase name=XXXyz');
Session.ModifyAlias(AliName,GetAlias);
Session.SaveConfigFile;
with DataBase1 do
begin
Connected:=False;
LoginPrompt:=False;
AliasName:=AliName;
DatabaseName:='XXX_SQL';
Params.Clear;
Params.Add('User Name=sa');
Params.Add('Password=');
Connected:=True;
LoginDB:=True;
end;
except
Application.MessageBox('系统建立目标失败,请确定服务器已运行。','错误',MB_ICONERROR+mb_OK);
Application.Terminate;
end;

 
后退
顶部