请教大家BCB使用SQL数据库的奇怪问题

dxgxk 2002-03-03 09:43:07
请看下面的代码:
void __fastcall TForm1::Button7Click(TObject *Sender)
{
AnsiString s;
s="Select count(*) As temp from h1";
Query1->Close();
Query1->SQL->Clear();
Query1->SQL->Add(s);
Query1->ExecSQL(); //这如果用Query1->Open();运行时显示错误 Table read only
Edit3->Text=Query1->FieldByName("temp")->AsString;
//Edit3->Text=Query1->Fields[0]->AsString; //如果用这句编译时出现错误
Query1->Close();
}
运行时出现错误: Query1:FIELD'temp' not found, 请问是怎么会事??
...全文
65 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
IT-司马青衫 2002-03-03
  • 打赏
  • 举报
回复
AnsiString s;
s="Select count(*) As temp from authors";
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add(s);
ADOQuery1->Open();
//这如果用Query1-> Open();运行时显示错误 Table read only
Edit1->Text=ADOQuery1->FieldByName("temp")->AsString;
//Edit3->Text=Query1->Fields[0]->AsString; //如果用这句编译时出现错误
// ADOQuery1->Close();
我成功了
看得见我把//ADOQuery1->Close();
显然不能用EXECSQL()它是执行存储过程你的是语句不执行
大该是我查讯后返回直太快了吧!!我的是一闪而过只有TDBNavig有反应
其它的还来不及就被ADOQuery1->Close();
这是我的现象
我想是Query1的组件设置有问题
你自己慢慢去考虑
用上面的代码应急吧
dxgxk 2002-03-03
  • 打赏
  • 举报
回复
多谢windindance(风舞轻扬) 问题解决
windindance 2002-03-03
  • 打赏
  • 举报
回复
Query1-> ExecSQL(); //这儿必须用Open,否则当然没有字段Temp.
Table read only:把RequestLive设置为false看看。

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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