我用的是 DELPHI + ADO,想通过向文本框输入 学号,然后通过这个学号找到数据表中对应记录,并修改该条记录的其它字段值.怎样定位此记录?现在只能修改第一条?谢谢

解决方案 »

  1.   

    AdoQuery.close;
    AdoQuery.sql.text:='select * from YourTable where xuehao='''+XueHaoEdit.Text+'''';
    AdoQuery.open;
      

  2.   

    procedure TForm1.Edit1Change(Sender: TObject);
    begin
      with adodataset1 do
      begin
        locate('字段名','字段值',[]);
        edit;
      end;
    end;
    不過你先要找開相應的adodataset
      

  3.   

    用adoquery1.filter:='学号='''+xxx.Text+'''';
      adoquery1.filtered:=true;或adoquery1.filter:='学号='''+xxx.Text+'''';
      adoquery1.findfirst;
      adoquery1.findnext;
      adoquery1.find...;
      

  4.   

    你可以用locate,findkey,setrange,或者sql语句(select 字段 from 表名 where 学号=edit.text),使用findkey和setrange要建索引。
      

  5.   

    Query->SQL->ADD("select top 1 * from tablename where field ='Edit1->Text'" );
    Query->Active=true;
      

  6.   

    procedure TForm1.Edit1Change(Sender: TObject);
    begin
      with adodataset1 do
      begin
        locate('字段名','字段值',[]);
        edit;
      end;
    end;
     请问:locate函数中,最后[]是表示什么,里面要不要填写内容?