【问题标题】:Error on Insert插入错误
【发布时间】:2014-11-09 22:55:22
【问题描述】:

我建立了一个 pos 销售项目。

我使用组合框显示数据库中的项目,我使用代码

  ComboBox1.Items.Clear;
  while not Zpem1.Eof do
  begin
    combobox1.Items.Add(Zpem1.fieldbyname('nama').AsString);
    Zpem1.Next;
  end;

我尝试使用

输入购物车
begin
con;
  Zpem4.Close;
  Zpem4.SQL.Clear;
  Zpem4.SQL.Add('insert into cart (service,jumlah) values ('+QuotedStr(ComboBox1.text)+','+Edit5.Text+')');
  Zpem4.Open;

我收到错误消息

当前提供者不支持从单次执行返回多个记录集

我尝试了几个代码,我从谷歌搜索并仍然得到相同的结果

【问题讨论】:

  • 你试过Zpem4.ExecSQL;不知道你用的是什么组件。
  • 对我来说,错误信息具有误导性,我猜内部检查是if ReturnedRecordSetsCount <> 1 then raise ...。但是INSERT 不返回任何记录集,因此引发了此异常
  • 你试过Zpem4.Append; Zpem4.FieldByName('service').AsString := 'foo'; Zpem4.FieldByName('jumlah').AsString := 'bar'; Zpem4.Post;吗?
  • 我用的是zeos connectuion,好的我试试,谢谢

标签: database delphi input delphi-7


【解决方案1】:

我假设 zpem4 和 zpem1 都使用相同的连接?

您需要在使用 zpem4

之前关闭 zpem1

提供程序是允许您的 Delphi 代码与 SQL 数据库交互的代码。根据提供程序的设计方式,它可能不允许您同时打开两个记录集。如果您是第一个代码块,则打开 ZPEM1 以填充组合框。在第二个代码中,您打开 ZPEM4 进行更新。两者都创建记录集,并且提供只允许一个..

【讨论】:

  • 嗯,为什么?能否详细说明。
  • 我尝试使用 1 个连接,我尝试使用每个 zpem1 和 zpem4 的 2 个连接,但仍然是同样的错误
猜你喜欢
  • 2015-07-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多