【发布时间】:2013-09-08 14:43:04
【问题描述】:
我不断收到以下错误
Project PAT_p.exe 引发异常类 EOleException,并带有消息“当前提供程序不支持从单次执行返回多个记录集”。进程停止。使用 Step 或 Run 继续。
我的数据库中的表以一对多关系链接,其中 ID 是 tblDeelname 中的 PK,Nommer 是自动编号,而 PK 是 tblAntwoorde。不幸的是,这是针对学校的实际评估任务,并且必须存在这种关系。 我的 Delphi 代码如下:
Procedure TfrmDN.btnBDClick(Sender: TObject);
var
sNaam, sVan, sKNommer, sAntwoord, sInteger : string;
begin
sNaam := lblNaam2.Caption; //
sVan := lblVan2.Caption; //Declaring Strings
sKNommer := lblKN2.Caption; //
sAntwoord := lblAntwoord1.Caption; //
inc(iTInskrywings); // Global var starting at 100 which is declared on form activate
sInteger := intostr(iTInskrywings);
frmData.qryVGKompetisieDB.Active := false; // query is on another form
frmData.qryVGKompetisieDB.SQL.Text := 'insert into tblDeelnemers (ID, Naam, Van, Kontaknommer) VALUES ("'+sInteger+'", "'+sNaam+'", "'+sVan+'","'+sKNommer+'")'; // Inserting Data into first Table
frmData.qryVGKompetisieDB.ExecSQL;
frmData.qryVGKompetisieDB.SQL.Text := 'insert into tblAntwoorde (ID, Antwoord) VALUES ("'+sInteger+'", "'+sAntwoord+'")'; // Inserting Data into second Table
frmData.qryVGKompetisieDB.ExecSQL;
frmData.qryVGKompetisieDB.Active := true;
end;
进入表格的所有信息都来自编辑框,ID 是一个全局变量(也是必须存在的评估的一部分)。由于在这个女巫不希望我用 sql 插入整数值之前出现的另一个错误,我将整数变成了字符串。
请帮忙!!!
【问题讨论】:
-
为什么在插入结束时将
qryVGKompetisieDB.Active设置为 True ?如果您在数据库管理工具中执行这些 SQL 查询会发生什么?你的数据库引擎是什么? -
@TLama 我正在使采石场成为现实,因为它显示在 dbgrid 中。我不确定如何在我的 DM 管理工具中使用它。我正在使用 Microsoft Access
-
我看到的至少一个问题是您正试图在
INSERT查询中打开数据集。您已将SQL.Text设置为INSERT查询并执行了它,但之后它不会将其更改回SELECT查询。您必须将SQL.Text设置为某个SELECT查询,然后将Active设置为True。 -
@TLama 非常感谢这就是问题所在。我只是在执行后添加了一个 select 语句,它起作用了。我不认为您可以查看我关于 sql 中删除的其他问题。它在这里link
标签: sql delphi ms-access delphi-7