ADO操作DBF数据库时,用_ConnectionPtr接口的Execute函数运行UPDATE语句的错误

naile 2002-04-28 02:36:27
我在用ADO写一个DBF库文件时,每当用_ConnectionPtr接口的Execute函数运行UPDATE语句时一直报“[Microsoft][ODBC dBase 驱动程序]操作必须使用一个可更新的查询”,运行别的SQL语句如INSERT都正常,将代码稍许改动,将DBF数据库改为mdb数据库,也都正常;但我查不到有什么地方出错,望各位大虾指点,谢谢,代码如下:
::CoInitialize(NULL);
_ConnectionPtr MyDB;
MyDB.CreateInstance(__uuidof(Connection));

try
{
MyDB->Open("Driver={Microsoft dBASE Driver (*.dbf)};DBQ=C:\\;","","",adModeUnknown);
}
catch(_com_error e)
{
return ;
}

_variant_t vRows;
try
{
MyDB->Execute("UPDATE [sjshq.dbf] SET HQZQJC='aa' WHERE HQZQDM='100'",&vRows,adCmdText); //将这一句SQL语句换乘别的,如INSERT语句,
//一些正常
}
catch(_com_error e)
{
_bstr_t aa=e.Description();
AfxMessageBox(aa);
}
...全文
193 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
naile 2002-04-28
  • 打赏
  • 举报
回复
接代码:
::CoInitialize(NULL);
_ConnectionPtr MyDB;
MyDB.CreateInstance(__uuidof(Connection));

try
{
MyDB->Open("Driver={Microsoft dBASE Driver (*.dbf)};DBQ=C:\\;","","",adModeUnknown);
}
catch(_com_error e)
{
return ;
}

_variant_t vRows;
try
{
MyDB->Execute("UPDATE [sjshq.dbf] SET HQZQJC='aa' WHERE HQZQDM='100'",&vRows,adCmdText); //将这一句SQL语句换乘别的,如INSERT
//语句,一些正常
//MyDB->Execute("INSERT INTO [sjshq.dbf] (HQZQJC,HQZQDM) VALUES('aa','100'),&vRows,adCmdText); //执行正确
}
catch(_com_error e)
{
_bstr_t aa=e.Description();
AfxMessageBox(aa);
}

34,837

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧