我用TADOTable连接一个表,如下
with TADOTable.Create(nil) do
  try
    Connection := MYConnection;
    TableName := strTable;
    Active := True;   // 在此处出现异常 
  finally
    Free;
  end;
end;
异常提示为:Can't Convert Variant of Type(Null) into Type String,而用TTable则没有问题。谢谢了

解决方案 »

  1.   

    MYConnection是什么类型的变量改成ConnectionString试试
      

  2.   

    是一个配置好的TADOConnection对象
      

  3.   

    我试的没事啊。
    with TADOTable.Create(nil) do
      try
        Connection := MYConnection;
        TableName :='bzmaster';
        Active := True;   // 在此处出现异常
        showmessage('asdf');
      finally
        Free;
      end;
    是 不是tablename的问题。
      

  4.   

    tablename是个string类的属性你只能赋给它字符串。
    不过要是这个问题,你在TableName := strTable;时就编译不过去啊我建议你先换个表名试试看
      

  5.   

    我试了几个表名都一样,EVariantTypeCastErr异常
      

  6.   

    ADO不行,只有用BDE,但安装实在不方便
      

  7.   

    这种问题经常有,但是不出现这个地方呀,读一个字符串的时候,都是NULL的话.....
      

  8.   

    是不是跟Win2000中的字符长度有关
      

  9.   

    我知道:tablename:='strtable';
       shishi,duibudui!
      

  10.   

    strTable是一个string变量, 是表名
      

  11.   

    程序在Delphi5下没问题,但7下会出错
      

  12.   

    错误就在这两句
    Connection := MYConnection;
    TableName := strTable;
    程序说你赋值的类型不匹配
    就像楼上所说TabaleName是字符串
    而strTable可能是nil
      

  13.   

    上面很多朋友都理解错了,我的完整程序如下:
    with TADOTable.Create(nil) do
      try
        Connection := MYConnection;
        TableName := 'FailureTable';
        Active := True;   // 在此处出现异常 
      finally
        Free;
      end;
    end;
    strTable只是一个代表表名的字符串变量名,程序在Delphi7下出错,5下没是,不知道是什么问题
      

  14.   

    你的代码没问题,我已经连通了。D6 + Win2k Pro 
    看看是不是其他问题。
      

  15.   

    看看你的Myconnection连好数据库没有!
      

  16.   

    To yoic 我试了问题依旧,明天换一台机子试一下,