DELPHI7中,用ADO访问,用了这几个组件:ADOConnection,ADOTable,DateSource.
ACCESS数据库名:students.mdb内有两上表,一个叫students,还有一score.
有两个问题:
1,每次运行程序,都提示要输入用户名和密码。。郁闷
2,我以如下代码在表中查找相应姓名的人,输出其详细信息,但是,查询总是不能成功----只有当我查询第一行的时候,才返回第一行,查询第二行的那个人的名字,叫是没有返回结果!
  with ADOTable1 do
  begin
  Open;
  if (FieldByName('sName').AsString = editSearch.Text) then
  begin
  label2.Caption := fieldByName('kid').AsString;
  label4.Caption := editSearch.Text;
  label7.Caption := fieldByName('语文').AsString;
  label11.Caption := fieldByName('数学').AsString;
  label14.Caption := fieldByName('外语').AsString;
  label16.Caption := fieldByName('政治').AsString;
  label8.Caption := fieldByName('历史').AsString;
  label12.Caption := fieldByName('地理').AsString;
  label18.Caption := fieldByName('物理').AsString;
  label20.Caption := fieldByName('化学').AsString;
  end
  else
  begin
  ShowMessage('没有相应学生的信息!');
  label2.Caption := '';
  label4.Caption := '';
  label7.Caption := '';
  label11.Caption := '';
  label14.Caption := '';
  label16.Caption := '';
  label8.Caption := '';
  label12.Caption := '';
  label18.Caption := '';
  label20.Caption := '';
  end;
  end;
end;
希望哪位能详细帮帮忙,先多谢了!

解决方案 »

  1.   

    1、ADOConnection.LoginPrompt := false;2、仔细看了一下你的代码,没有找到任何能使记录游标移动的语句。ADOTable.Open时游标总是处于第一条记录上的。你不移动游标,它总是指向第一条记录。
      

  2.   

    第一:ADOConnection 的 loginprompt 属性改成 FALSe
      

  3.   

    你的代码可以改为:with ADOTable1 do
      begin
      if not Active then Open;
      if not Eof then Next;
      //下面是你的Open后面的代码  end;
      

  4.   

    重新改一下:with ADOTable1 do
      begin
      if not Active then Open else if not Eof then Next;
      //下面是你的Open后面的代码  end;
      

  5.   

    上面的代码只是提供一个思路。 deansroom(丁樵方玉) 慢了啊 ,呵呵。我退出了。
      

  6.   

    谢谢大家,登录的问题已经解决了!谢谢!我把代码改成了如下:
    begin
      with ADOTable1 do
      begin
      if not Active then
        Open
      else if not Eof then
        Next;
      if (FieldByName('sName').AsString = editSearch.Text) then
      begin
      //............
      end
      else
      begin
      ShowMessage('没有相应学生的信息!');
      //............
      end;
      end;
    end;可是还是不能正常查询,甚至连第一行都查询不出来了!希望大家再帮我分析分析,先谢谢大家了!
      

  7.   

    “查询”,不是这样做的。Next是顺序下移游标。你需要看课本。然后自己重新写代码。
      

  8.   

    上面我的代码,只是在跟你演示游标的移动。这“补丁”适合你研究用,但不适合直接用在你的代码里。你如果用ADOTable,需要看一下关于SetKey、FindKey、Locate等等相关知识点。
      

  9.   

    对不起了
    lihuasoft(学习低调做人) 
    我不是故意的,咱们俩是同时发过去的,我发的时候也没有人,不好意思了!~荷叶,lihuasoft(学习低调做人) 还是让他给你说吧!~嘿嘿!
      

  10.   

    TO deansroom(丁樵方玉)  :你多心了!我没有嫌你抢我的意思,真的!我是在跟你开玩笑呢!因为我也有这样的经历:打开贴子后,经过思考,然后回贴----结果发现有人已经回了。请不要多心,呵呵。