急问使用TADOQuery控件插入记录的一个问题

idsel 2003-08-22 09:56:10
这个问题困扰了我一天,大家帮看看吧,THX
代码如下:
ADOQuery1->Close();
ADOQuery1->Insert();
ADOQuery1->SQL->Clear();
AnsiString Sql=" Values(:chargeid,:caseid, :clientid, :chargedate, :amount, :cost, :currency, :ratio, :status, :memo)";
ADOQuery1->SQL->Add("Insert into t_charge(ch_charge_id,ch_case_id,ch_client_id,ch_charge_date,ch_amount,ch_cost_amt,ch_currency,ch_convert_ratio,ch_status,ch_memo)");
ADOQuery1->SQL->Add(Sql);
ADOQuery1->Parameters->ParamByName("caseid")->Value=Edit2->Text;
ADOQuery1->Parameters->ParamByName("chargeid")->Value=Edit1->Text;
ADOQuery1->Parameters->ParamByName("clientid")->Value=chazhaoanjian->Clientid;
ADOQuery1->Parameters->ParamByName("chargedate")->Value=DateTimePicker1->DateTime;
ADOQuery1->Parameters->ParamByName("amount")->Value=amount;
ADOQuery1->Parameters->ParamByName("cost")->Value=cost;
ADOQuery1->Parameters->ParamByName("currency")->Value=Currencys->Strings[ComboBox3->ItemIndex];
ADOQuery1->Parameters->ParamByName("ratio")->Value=CurrentRatio;
ADOQuery1->Parameters->ParamByName("status")->Value=CuStatus->Strings[ComboBox3->ItemIndex];
ADOQuery1->Parameters->ParamByName("memo")->Value=Edit6->Text;
ADOQuery1->Open(); 用ADOQuery1->ExecSQL()函数一样出错
//ADOQuery1->ExecSQL();
//ADOQuery1->Insert();
ADOQuery1->Post(); // 单步调试的时候问题出在这里

错误信息为:'ADOQuery1:Cannot perform this operation on a closed dataset'
...全文
64 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
CACACACACA 2003-09-15
  • 打赏
  • 举报
回复
改为这样试试:
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("Insert into t_charge(ch_charge_id,ch_case_id,ch_client_id,ch_charge_date,ch_amount,ch_cost_amt,ch_currency,ch_convert_ratio,ch_status,ch_memo) Values(:chargeid,:caseid, :clientid, :chargedate, :amount, :cost, :currency, :ratio, :status, :memo)");
Adoquery->Active=true;//这句不能少
ADOQuery1->Parameters->ParamByName("caseid")->Value=Edit2->Text;
ADOQuery1->Parameters->ParamByName("chargeid")->Value=Edit1->Text;
ADOQuery1->Parameters->ParamByName("clientid")->Value=chazhaoanjian->Clientid;
ADOQuery1->Parameters->ParamByName("chargedate")->Value=DateTimePicker1->DateTime;
ADOQuery1->Parameters->ParamByName("amount")->Value=amount;
ADOQuery1->Parameters->ParamByName("cost")->Value=cost;
ADOQuery1->Parameters->ParamByName("currency")->Value=Currencys->Strings[ComboBox3->ItemIndex];
ADOQuery1->Parameters->ParamByName("ratio")->Value=CurrentRatio;
ADOQuery1->Parameters->ParamByName("status")->Value=CuStatus->Strings[ComboBox3->ItemIndex];
ADOQuery1->Parameters->ParamByName("memo")->Value=Edit6->Text;
ADOQuery1->Post(); 这提交就可以了吧
xiaokange 2003-08-23
  • 打赏
  • 举报
回复
改为这样试试:
ADOQuery1->Close();
//ADOQuery1->Insert();
ADOQuery1->SQL->Clear();
// AnsiString Sql="";
ADOQuery1->SQL->Add("Insert into t_charge(ch_charge_id,ch_case_id,ch_client_id,ch_charge_date,ch_amount,ch_cost_amt,ch_currency,ch_convert_ratio,ch_status,ch_memo) Values(:chargeid,:caseid, :clientid, :chargedate, :amount, :cost, :currency, :ratio, :status, :memo)");
// ADOQuery1->SQL->Add(Sql);
ADOQuery1->Parameters->ParamByName("caseid")->Value=Edit2->Text;
ADOQuery1->Parameters->ParamByName("chargeid")->Value=Edit1->Text;
ADOQuery1->Parameters->ParamByName("clientid")->Value=chazhaoanjian->Clientid;
ADOQuery1->Parameters->ParamByName("chargedate")->Value=DateTimePicker1->DateTime;
ADOQuery1->Parameters->ParamByName("amount")->Value=amount;
ADOQuery1->Parameters->ParamByName("cost")->Value=cost;
ADOQuery1->Parameters->ParamByName("currency")->Value=Currencys->Strings[ComboBox3->ItemIndex];
ADOQuery1->Parameters->ParamByName("ratio")->Value=CurrentRatio;
ADOQuery1->Parameters->ParamByName("status")->Value=CuStatus->Strings[ComboBox3->ItemIndex];
ADOQuery1->Parameters->ParamByName("memo")->Value=Edit6->Text;
ADOQuery1->ExecSQL(); 用ADOQuery1->ExecSQL()函数一样出错
//ADOQuery1->ExecSQL();
//ADOQuery1->Insert();
// ADOQuery1->Post(); // 单步调试的时候问题出在这里

idsel 2003-08-22
  • 打赏
  • 举报
回复
能不能给段示范代码给我看看?谢谢:)
idsel 2003-08-22
  • 打赏
  • 举报
回复
那老兄你把代码改改看看怎么样才可以那?谢谢了
waeghtmark525 2003-08-22
  • 打赏
  • 举报
回复
ADOQuery1->Close();
ADOQuery1->Insert();
ADOquery1都close了,当然不能insert了!

1,178

社区成员

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

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