source="c:\\ssd"; 
sql = "select * from TD_KSLBDM";
        constr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + sourse + ";Extended Properties=dBASE IV;User ID=;Password=";      
                 OleDbConnection con = new OleDbConnection(constr);
                con.Open();
                OleDbDataAdapter adapter = new OleDbDataAdapter(sql, con);
                DataSet dtSet = new DataSet();
                adapter.Fill(dtSet);
                con.Close();  
出错语句以用红色标记,出错提示:Microsoft Jet 数据库引擎找不到对象'TD_KSLBDM'。请确定对象是否存在,并正确地写出它的名称和路径说明:TD_KSLBDM 绝对存在,   且这段代码在有的机器上能运行,一点问题也没有,但在大部分机器上运行报错,提示如上。
好长时间了也没找到原因所在,请大家看看,谢谢了,在线等待。。     

解决方案 »

  1.   

    你的dBASE IV 数据库有TD_KSLBDM这张表吗?
      

  2.   

    看错了
    是你的sourse路径里面的数据库里面有TD_KSLBDM着个表吗?
      

  3.   

    Data Source=" + sourse + ";
    因为source不对
    所以有的机子可以
    有的机子不可可以
      

  4.   

    'TD_KSLBDM'其他机器是否缺少什么东西
      

  5.   

    source="c:\\ssd"; //这句话什么意思?是ACCESS数据库也应该加下后缀吧!
    还有查查路径对不对吧!
      

  6.   

    Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\test.mdb
    路径不对。
    明白了吧。
    a机器路径是c盘下
    b机器路径可能是d盘下的
      

  7.   

     c:\\ssd 不存在或是没有权限?
      

  8.   

    难道是大部分机器上没dbaseiV环境,导致不能解析这个文件???
      

  9.   

    TD_KSLBDM 表里没有select到数据
      

  10.   

    直接指向数据库文件吧
    string constr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\\db1.mdb;User ID=;Password=";
      

  11.   

    我的是dbf数据表 路径绝对没有问题,且有这样一个情况
    只要表文件超过8个字符就报错,少于8个就没问题
      

  12.   

    我的是dbf数据表 路径绝对没有问题,且有这样一个情况 
    只要表文件超过8个字符就报错,少于8个就没问题
      

  13.   

    不行我试过了,且我的是dbf表,路径绝对存在,表也存在
      

  14.   

    adapter.Fill(dtSet,"TD_KSLBDM"); 
      

  15.   

    解决了
    方法如下:
    把连接字符串改了
    原来的: constr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + sourse + ";Extended Properties=dBASE IV;User ID=;Password=";新改的:        constr = "Provider=vfpoledb.1;Data Source=" + sourse + ";Collating Sequence=;";