TADOQuery的编辑状态!

yellowhwb 2004-03-17 09:06:52
我用一个TADOQuery对ACCESS数据库的一个“备注”字段用带参数的sql进行更新时,程序报错,说TADOQuery不是处于Insert或Edit状态,请问如何使其处于Edit状态啊?
...全文
80 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
KEYMEN 2004-09-02
  • 打赏
  • 举报
回复
字符问题
freshman2003 2004-03-17
  • 打赏
  • 举报
回复
TADOQuery应尽量执行SQL来完成任务,否则还不如直接用TADOTable。
wasoxi 2004-03-17
  • 打赏
  • 举报
回复
try
{
objQuery->Close();
objQuery->Connection=myConn;
objQuery->SQL->Add(strSQL);
objQuery->Open();
TMemoField* mf;
yellowhwb 2004-03-17
  • 打赏
  • 举报
回复
不对,我加了TADOQuery->Edit(),没用!

void DBConnection::ExecuteQuery(String strSQL,const String strTextField,TPersistent* Content,int iOperation)
{ //参数查询
TADOQuery* objQuery =new TADOQuery(NULL);
try
{
objQuery->Connection=myConn;
objQuery->SQL->Add(strSQL);
objQuery->Open();
TMemoField* mf;
switch(iOperation)
{
case 0: //新增记录
objQuery->Append();
mf = (TMemoField*) objQuery->FieldByName(strTextField);
mf->Assign(Content);
objQuery->Post();
objQuery->Close();
delete mf;
break;
case 1: //修改记录
objQuery->Edit();
objQuery->CheckBrowseMode();
if(objQuery->CanModify)
{
objQuery->BeforeEdit;
mf = (TMemoField*) objQuery->FieldByName(strTextField);
mf->Assign(Content);
objQuery->AfterEdit;
}
objQuery->Close();
break;
default:
break;
}

delete objQuery;
}
catch(EADOError *err)
{
throw Exception(err->Message);
delete objQuery;
}
}
wasoxi 2004-03-17
  • 打赏
  • 举报
回复
TADOQuery->Edit()
对吗?

13,824

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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