CommandText does not return a result set. 怎么处理?(不是英语问题)

时间:2021-01-18 08:08:40
exception class EDatabaseError with message "CommandText does not return a result set. "

我在用ADOQuery执行SQL语句时碰到的问题,请问什么回事?SQL语句已经生效,但程序报错。点解??????谢谢。

15 个解决方案

#1


详细点,把SQL语句贴出来

#2


DataModule3.TempQuery.SQL.Clear;
DataModule3.TempQuery.SQL.Add('pr_AddUser '''+edit5.Text+''','''+ edit1.Text +''','''+edit2.Text +''','''+ edit3.Text+''',''00000'',' + i );
DataModule3.TempQuery.Open;

#3


是个插入操作。直接用SQL语句或用存储过程都一样的报错。

#4


这样用吧
with adoquery1 do
begin
  sql.clear;
  sql.text := '你的语句';
  try
    open;
  except
    execsql;
  end;
end;

#5


在前面写上
if DataModule3.TempQuery.Active=true then
   DataModule3.TempQuery.Active:=False;
试一试呢?

#6


楼上两位兄台的方法都试了,报错依旧。

#7


更正上面
if DataModule3.TempQuery.Active=Falsethen
   DataModule3.TempQuery.Active:=True;

#8


exception class EDatabaseError with message "CommandText does not return a result set
插入操作不会返回记录集的,用ExecSQL;Open是当有记录集时用的。
看一下帮助,
Call ExecSQL to execute the SQL statement currently assigned to the SQL property. Use ExecSQL to execute queries that do not return a cursor to data (such as INSERT, UPDATE, DELETE, and CREATE TABLE).

Note: For SELECT statements, call Open instead of ExecSQL or set the Active property to True.

#9


还是不行。

#10


谢谢ququd(ququ)。想来这是正解了。谢谢。

#11


OK!!!! By the way, ExecSql之后要不要Close呢???

#12


你想CLOSE就CLOSE,呵呵

#13


谢谢各位。

#14


我的方法要脱离编译环境哈!

#15


我也遇到同样的问题  谢谢 各位大侠呀

#1


详细点,把SQL语句贴出来

#2


DataModule3.TempQuery.SQL.Clear;
DataModule3.TempQuery.SQL.Add('pr_AddUser '''+edit5.Text+''','''+ edit1.Text +''','''+edit2.Text +''','''+ edit3.Text+''',''00000'',' + i );
DataModule3.TempQuery.Open;

#3


是个插入操作。直接用SQL语句或用存储过程都一样的报错。

#4


这样用吧
with adoquery1 do
begin
  sql.clear;
  sql.text := '你的语句';
  try
    open;
  except
    execsql;
  end;
end;

#5


在前面写上
if DataModule3.TempQuery.Active=true then
   DataModule3.TempQuery.Active:=False;
试一试呢?

#6


楼上两位兄台的方法都试了,报错依旧。

#7


更正上面
if DataModule3.TempQuery.Active=Falsethen
   DataModule3.TempQuery.Active:=True;

#8


exception class EDatabaseError with message "CommandText does not return a result set
插入操作不会返回记录集的,用ExecSQL;Open是当有记录集时用的。
看一下帮助,
Call ExecSQL to execute the SQL statement currently assigned to the SQL property. Use ExecSQL to execute queries that do not return a cursor to data (such as INSERT, UPDATE, DELETE, and CREATE TABLE).

Note: For SELECT statements, call Open instead of ExecSQL or set the Active property to True.

#9


还是不行。

#10


谢谢ququd(ququ)。想来这是正解了。谢谢。

#11


OK!!!! By the way, ExecSql之后要不要Close呢???

#12


你想CLOSE就CLOSE,呵呵

#13


谢谢各位。

#14


我的方法要脱离编译环境哈!

#15


我也遇到同样的问题  谢谢 各位大侠呀