如何判断dbedit输入的值对比数据库然后next
就是在dbeidt1输入数据,根据该数据表的字段位置,其他的dbedit显示相应的字段
最好来点代码

解决方案 »

  1.   

    首先你要保证dbeidt1对应的字段是无重复的,否则定位数据不准
    定位可以使用
    var
      str:string;
    begin
    str := dbeidt1.EditText;
    ADOQuery1.Cancel;取消提交,以免dbeidt1的字段值被更新
    ADOQuery1.Locate('dbeidt1对应的字段',dbeidt1.EditText,[]);
    其它dbEdit对应好字段后就回自动显示唯一不明白的,你为什么要这么做,有什么好处吗,很难理解
      

  2.   

    参考代码
    self.adoquery1.locate(fieldname1,dbedit1.text,[]);
    dbedit2.text:=self.adoquery1.fieldbyname(fieldname2).asstring;
    dbedit3.text:=self.adoquery1.fieldbyname(fieldname3).asstring;
    .....
      

  3.   

    更正1楼一个地方
    ADOQuery1.Locate('dbeidt1对应的字段',dbeidt1.EditText,[]); 
    改为
    ADOQuery1.Locate('dbeidt1对应的字段',str,[]); 
      

  4.   

    dbedit1.....dbedit20关联了datafield
    这些输入可以查询到相应的字段,就是在任何1个dbedit里输入后,按查询其他的就可以显示相应的字段
    按照上面的,好像不行哦
      

  5.   

    感觉你真么做好麻烦,还不如直接用eidt,编写SQL语句来的省力。
      

  6.   

    參考之...self.adoquery1.locate(fieldname1,dbedit1.text,[]); 
    dbedit2.text:=self.adoquery1.fieldbyname(fieldname2).asstring; 
    dbedit3.text:=self.adoquery1.fieldbyname(fieldname3).asstring; 
      

  7.   


    用EDIT不要用數據感應組件,這樣很不穩定。
      

  8.   

    可以判断查询到多少个重复数据,默认输出查到的第一行,其余的行数可以用另一个按钮来实现翻页
    不想用edit,因为我需要dbedit来post,经常写入的哇