我建了一个表,都A(第一个)类型,然后根据edit中输入的内容查询,然后在其他的edit
上显示,结果可以出来,但总是弹出提示框,说不能把null转为string值,为什么?如改
给段代码!

解决方案 »

  1.   

    是否有字段为空
    读取的时候要注意类型转换
    edit上显示的都是字符串
      

  2.   

    代码如下
    table1.TableName:='d:\data.db';
      table1.Open;
      begin
      if edit1.text<>'' then
        begin
          edit2.Text:=table1.Lookup('id',edit1.text,'name');
          edit3.Text:=table1.Lookup('id',edit1.text,'intime');
          edit4.Text:=table1.lookup('id',edit1.text,'outtime');
          edit5.Text:=table1.lookup('id',edit1.text,'money');
        end
       else showmessage('welcome');
    name intime 都是alpha类型
      

  3.   

    function Lookup(const KeyFields: String; const KeyValues: Variant
    ; const ResultFields: String): Variant;照你上面给的代码看,好像没问题啊。
      

  4.   

    有可能Lookup没有找到后返回值为null,这样edit.text就会报错
      

  5.   

    同意楼上
    可以判断一下lookup的返回值