大家好,100分奉献,能者请进(100分)

  • 主题发起人 主题发起人 ynfly
  • 开始时间 开始时间
Y

ynfly

Unregistered / Unconfirmed
GUEST, unregistred user!
大家好,我是一个Delphi爱好者,请教一个问题,我正在学习Delphi跟数据库连接的那一部分.我的后台数据库是SQL SERVER,为什么我的程序每次运行时,都出现一个
对话框,提示我输入用户名(sa)和密码,能不能做一些设置不出现此对话框.还用怎么通过TQUERY控件来获得一个结果集.我主要是用PowerBuilder编程序,在pb中获得一个结果集很方便,可以通过声明游标然后用fetch语句很轻易的获得此结果集,
我想问在Delphi中是否有类似的方法,最好有一个例子,高分重谢
 
1:使用TDatabase LoginPrompt := True Params中设定username及password
2:结果集如果只是用于查询,用TQuery本身即可,如果用于存储,可以用TBatchMove
将其拷贝存储,如果用于更新,可用TTable的Filter
 
不出现此对话框=prompt=false;
剩下的看delphi自己的例子。
 
LoginPrompt := False
 
不好意思,写错了应该是LoginPrompt := False username=sa
 
不要用TQuery直接和数据库连,用一个TDatabase控件,把TQuery的DatabaseName属性设为TDatabase的DatabaseName
(注意,这个名称和BDE里的数据库别名不是一个概念,最好取一个BDE里保证不会有的特殊的名字,如加特殊前缀),
然后设定TDatabase的AliasName为BDE里的数据库别名(这才是真正的数据库名,一定要在BDE里创建好才行)。
为了不提示输入登陆信息,把TDatabase的LoginPromt设为False,然后:
Database1.Params.Add('USERNAME=' + sUserName);//sUserName为记录用户名的String变量(如'sa')
Database1.Params.Add('PASSWORD=' + sPassWord);//sPassWord为记录口令的String变量(如'')
Database1.Connected := True;//打开与SQL SERVER的连接。

用TQuery获得结果集很简单:
Query1.Close;
Query1.Sql.Text := 'SELECT * FROM table1 WHERE ……';
Query1.Open;
再往后,查帮助吧。DELPHI比PB好用多了:)
 
Query1.first;
while not Query1.eof do
begin
resultstr:=query1.fieldbyname('fieldname').AsString;
Query1.next;
end;
 
没有什么好说的了!:(
 
windpray说的对!
 
database1.Params.Values['user name']:='sa';
database1.Params.Values['password']:='sa';
database1.LoginPrompt:=false;
database1.AliasName:='delphi';
database1.DatabaseName:='um';
database1.Connected:=true;
query.DatabaseName:='um';
 
用 ADO 控件也可以的;
它的连接和PB与数据库的连接更相似
你可以试一下
 
能有一个获得结果集的例子吗?有奖励的
 
dq的那个就和呀!!呵呵
 
多人接受答案了。
 
后退
顶部