大哥,帮帮忙

sh_yangxiangming 2008-01-16 12:42:06
procedure TForm1.Edit2Exit(Sender: TObject);
begin
if Label3.Visible =true then
if (edit1.Text ='') or (edit2.Text ='') then
exit
else
if edit2.text='?' then
wlsjk:='Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=master;Data Source='+edit1.Text
else
wlsjk:='Provider=SQLOLEDB.1;Password='+edit2.text+';Persist Security Info=False;User ID=sa;Initial Catalog=master;Data Source='+edit1.Text ;
try
adodataset2.ConnectionString :=wlsjk;
adodataset2.CommandText :='select * from sysdatabases';
// adodataset2.Refresh;
adodataset2.Open;
adodataset2.Active
except
showmessage('服务器不存在,或密码有误!');
end;
adodataset2.First;
while not (adodataset2.Eof) do
begin
if adodataset2.FieldByName('dbid').AsInteger>6 then
combobox1.Items.Add(adodataset2.FieldByName('name').AsString );
adodataset2.MoveBy .Recordset.MoveNext;
end;

end;
上面代码运行到//?????????????处,根本不是取得adodataset2.FieldByName('name')的值,而是数据库名字master,为什吗?帮帮忙
...全文
42 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿三 2008-01-18
  • 打赏
  • 举报
回复
联接数据库为什么不用adoconnection,然后把adoconnection与adodataset关联上不是更好吗.
ydlchina 2008-01-16
  • 打赏
  • 举报
回复
adodataset2.FieldByName('name').Value//使用Value
ydlchina 2008-01-16
  • 打赏
  • 举报
回复
adodataset2.Refresh; //refresh在ADO中无用
adodataset2.Open; //Open与Active使用一个即可,作用相同
adodataset2.Active
Bear_hx 2008-01-16
  • 打赏
  • 举报
回复
用查询分析器看看你查出来的结果,我这是可以的。

2,498

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧