在C++BUILDER中用ADO连接一个DBF文件提示"[Microsoft][ODBC dBase Driver]字段大小过长",是什么问题?1.检查数据表结构与代码追加字段的长度,绝对不超长
2.追加同一条数据时(就是新增相同的数据),凡是在装有C++BUILDER 的机器中运行都不会有此提示,并新增成功,但在没有装C++BUILDER 的机器就会有上述提示,追加失败
3.检查装有C++BUILDER 的机器与没有装C++BUILDER 的系统均为XP(SP2)版本,装有C++BUILDER 的机器与没有装C++BUILDER 机器中的MDAC版本均为2.8
4.一个奇怪的现象,没有装C++BUILDER 的机器在安装本公司的另外一个产品后,
再运行用ADO连接一个DBF文件的程序进行测试,不会有此提示,并新增成功,卸掉本公司的另外一个产品后,又会有上述提示,追加失败.连接串如下:注释的连接串与没有注释的连接串都会有上述提示  /*ADOConnection1->ConnectionString="Driver={Microsoft dBASE Driver (*.dbf)};"
                 "DriverID=277;"
                 "Dbq="+AppPath+";";*/ ADOConnection1->ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;"
    "Password="";Data Source="+AppPath+";Extended Properties=dBase 5.0;"
    "Persist Security Info=True";执行代码如下
        ADOQuery1->Close();
        ADOQuery1->SQL->Text=sSQL;
        ADOQuery1->ExecSQL();困扰中....

解决方案 »

  1.   

    你使用的数据库引擎错误1、如果你是通过VFP建立的表,那么得用Microsoft Visual Foxpro Driver,其中又分为数据库模式和文件模式,数据库模式支持长字段名而文件模式不支持
    2、dBase连接VFP数据库字段名长度限制是8个字符,你确认没超过,注意是字段名不是字段内容!
      

  2.   

    自己搞定其实出现下面这个现象就应该想到的

    一个奇怪的现象,没有装C++BUILDER 的机器在安装本公司的另外一个产品后,
    再运行用ADO连接一个DBF文件的程序进行测试,不会有此提示,并新增成功,卸掉本公司的另外一个产品后,又会有上述提示,追加失败.
    』是BDE问题