我用adotable连接access表(两个字段,一个是数字,一个是文本),出现了一个错误:could not convert variant of type(Null) into type(string) 。adoconnnection设置都是对的。执行这个语句:
    if adotable.Active =false then adotable.Active :=true;就出现上述错误。
要验证也很简单,麻烦高手建个表试试看。

解决方案 »

  1.   

    有没有用dblookupcombox之类的东西?
    如果用了....重新设置一下ListSource部分和DataSource部分
      

  2.   

    语句的意思为“不能将空值转换成为string类型”。
      

  3.   

    把ACCESS表中字符型字段修改成可以为空值,即可。
      

  4.   

    数据表id 自动编号 
    name 文本
    age 数字
    work 文本用ADOTable,在DELPHIL中能显示出数据,一运行就出错
    could not convert variant of type(Null) into type(string)
      

  5.   

    T0: aiunong(凡)
    改了,不行啊.
      

  6.   

    用ADOTable不用写查询语句吧,把整个表都显示出来.
      

  7.   

    对:)你用了哪些控件?
    id 自动编号 
    name 文本
    age 数字
    work 文本建好表后,不做任何操作,单连一下ADOTABLE就出错了?
      

  8.   

    我没出错,按你的做一个ADOCONNECTION,一个ADOTABEL 一个数据库,都用你写的字段生成一张表
      

  9.   

    ADOTable,DBGrid,DataSource,设置好ADOTable的connectionstring,tablename,active为true,就会在DBGrid显出数据,但一运行就出现上面的错误,你可了试一下
      

  10.   

    我猜你一般在两个地方出错,一是把控件的值赋给字段,当控件的值为NULL时出错,另一个是把字段的值赋给控件的CAPTION或TEXT等STRING类型的属性时,当字段的值为NULL时出错
      

  11.   

    没有,当active为false时不出错,但也不就不显示数据了.
      

  12.   

    真的没错误,要不把你的代码和数据库发给我试一下[email protected]
      

  13.   

    xinggg(人自渡)发过去了,收到了吗?MSN:[email protected]
      

  14.   


    解决了,不是程序的事,楼主:在Degugger Options选项中 
    将integrated debugging的勾去掉就OK了
      

  15.   

    我看了一下,其实问题不是出在数据库上,而是出在连接字符(ConnectionString)上,你把连接方法改成 Microsoft JET 4.0 OLE DB Provider就不会出现这个问题了;
        另外,出现这个错误提示,估计是出在ADO类中对ConnectionString处理时,和数据库表内容无关,ADO类内部对此错误进行了处理,在调试中会出现这个错误,在生成EXE文件后就不会出现这个错误了。