执行插入存储过程运行报错,报错如下:
哪位大师解答一下啊,如何获取到select 后的 这一部分
declare @RespCode varchar(10); declare @RespMessage varchar(100); declare @OrderId varchar(20);declare @SqNo varchar(3);
exec zsyy_LockOrder '8072','1086','0000221424','4201241972','1','2023-07-28','08:00:00','111111','PBB00000012795010','1','1','1',@RespCode output,@RespMessage output,@OrderId output,
@SqNo output;select @RespCode as RespCode, @RespMessage as RespMessage,@orderId as orderId,
@SqNo as SqNo
No results. Previous SQL was not a query.
Traceback (most recent call last):
File "D:\Python\Python36\lib\site-packages\spyne\application.py", line 173, in process_request
ctx.out_object = self.call_wrapper(ctx)
File "D:\Python\Python36\lib\site-packages\spyne\application.py", line 242, in call_wrapper
return ctx.descriptor.service_class.call_wrapper(ctx)
File "D:\Python\Python36\lib\site-packages\spyne\service.py", line 194, in call_wrapper
return ctx.function(*args)
File "E:\python\app.py", line 552, in LockOrder
str_xml_gxhc = insert_data(str_sql)
File "E:\python\db_odbc.py", line 69, in insert_data
rows = cursor.execute(str_select).fetchone()
pyodbc.ProgrammingError: No results. Previous SQL was not a query.
192.168.000.50 - - [31/Jul/2023 09:01:52] "POST /yygh/ HTTP/1.1" 500 313
以下回答部分借鉴chatgpt:
根据您提供的错误信息,报错是因为前一条SQL语句不是查询语句而导致无结果返回。在执行存储过程之后,您需要使用SELECT
语句来获取输出参数的值。
根据您的代码,您可以将以下部分替换到存储过程执行之后:
SELECT @RespCode as RespCode, @RespMessage as RespMessage, @orderId as orderId, @SqNo as SqNo
这样就可以通过查询语句获取到存储过程执行后的输出参数的值了。
同上,我刚刚也是试了一下gpt的回答,和上面的结果是一样的,再插入这个存储获取数据的时候还是要重新设置一下的,另外,唉,实在不行的话就多在几个不同的GPT跑一下这个问题
不知道你这个问题是否已经解决, 如果还没有解决的话: