高手们在吗?问一个菜菜的有关问题,谢了
高手们在吗?问一个菜菜的问题,谢了
在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();//此处保错
------解决方案--------------------
正解,应该是未安装BDE导致的结果
在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();//此处保错
------解决方案--------------------
正解,应该是未安装BDE导致的结果