在存储过程的delete中使用传入的参数出错

wzhawsa 2010-06-30 04:39:39
在mysql中的存储过程中,delete使用了传入的参数,出现Lost connection to MySQL server during query错误。但是在insert中使用传入的参数不会出错。请教高手。
...全文
112 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
ACMAIN_CHM 2010-07-01
  • 打赏
  • 举报
回复
建议贴出你的CREATE TABLE语句,CREATE PROCEDURE语句,另外提供一些测试用例。这样别人可以直接在本机上模拟你的故障以分析。

建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html

1. 你的 create table xxx .. 语句
2. 你的 insert into xxx ... 语句
3. 结果是什么样,(并给以简单的算法描述)
4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)

这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。

wzhawsa 2010-07-01
  • 打赏
  • 举报
回复
在存储过程中不用传进来的参数,直接写字段的值就可以删除。还有就是用参数的话,如果有那天纪录,delete的时候就出现Lost connection to MySQL server during query。
zuoxingyu 2010-06-30
  • 打赏
  • 举报
回复
看看错误日志。有些什么信息。
wzhawsa 2010-06-30
  • 打赏
  • 举报
回复
const char* str_sql = "call rect.test('2','1','2','4','2','1',@a,@b,@c);";
这是调用存储过程的sql
wzhawsa 2010-06-30
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 acmain_chm 的回复:]
你可以先直接在MYSQL中试验一下call xxxxx(....) 看看需要多久。
[/Quote]
时间肯定不会长,花费的时间几乎可以忽略。
wzhawsa 2010-06-30
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 acmain_chm 的回复:]
你的C语言的代码是什么? 一般是过长时间的执行SQL语句会出现这些错误。
[/Quote]
c代码不改,如果把delete from YHQHS where syscdm=vscdm and symdh=vmdh and syxph=vxph and sysyjh=vsyjh;
这几个参数改成具体的值,就不会出错。
ACMAIN_CHM 2010-06-30
  • 打赏
  • 举报
回复
你可以先直接在MYSQL中试验一下call xxxxx(....) 看看需要多久。
ACMAIN_CHM 2010-06-30
  • 打赏
  • 举报
回复
你的C语言的代码是什么? 一般是过长时间的执行SQL语句会出现这些错误。
wzhawsa 2010-06-30
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wwwwa 的回复:]
SP代码是什么
[/Quote]
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET bg_all = 1;
begin
SET ret=1;
SET ret2=1;
SET onetime_row=10;
SET read_int=300;
SET begin_pos=1;
insert into A value(sysdate(),vmdh);
if (VXSXPSTR is null ) OR (VXSXPSTR='') then
SET ret2=0;
SET rmsg='no xsxp input';
else
select CSZ into vscdm from XTCS where CSM='SCDM';
delete from YHQHS where syscdm=vscdm and symdh=vmdh and syxph=vxph and sysyjh=vsyjh;
/*insert into YHQHS(syscdm,symdh,syxph,sysyjh) values(vscdm,vmdh,vxph,vsyjh);
delete from `XSXPB` where scdm=vscdm and mdh=vmdh and xph=vxph and syjh=vsyjh ;
delete from `XSXPFKFS` where scdm=vscdm and mdh=vmdh and xph=vxph and syjh=vsyjh ;
delete from `YHQMXB` where scdm=vscdm and mdh=vmdh and xph=vxph and syjh=vsyjh ;*/
end if;
end;

end
WWWWA 2010-06-30
  • 打赏
  • 举报
回复
SP代码是什么
wzhawsa 2010-06-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wwwwa 的回复:]
代码是什么?
[/Quote]
Linux 用c调用存储过程
WWWWA 2010-06-30
  • 打赏
  • 举报
回复
代码是什么?
课程基础概述本门课程,大喵将会打着大家从零打造一款属于大家自己的 CLI命令行脚手架工具,本课程主要面向新手同学,对命令行工具开发,前端工具开发感兴趣的同学,可以通过本门课程学习到如何使用Node.JS开发一款适配自身项目特色的脚手架命令行工具。并且也会带着大家推送自己开发完成的CLI工具到NPM线上仓库,供所有人下载安装使用。整个课程,大喵会详细讲解所需要依赖的第三方模块包的具体使用,让同学们可以举一反三开发具备自身特色的CLI工具,最终大喵会运用到前面所讲解的基础内容,独立自主开发一个具备 damiao [ add | delete | list | init ] 四种子命令的CLI脚手架工具。CLI命令行工具命令行工具(Cmmand Line Interface)简称cli,顾名思义就是在命令行终端使用的工具。我们常用的 git 、npm、vim 等都是 cli 工具,比如我们可以通过 git clone 等命令简单把远程代码复制到本地。在目前前端工程大流行的环境下,vue-cli、create-reate-app、angular-cli 等等方便快捷的命令行脚手架工具诞生,极大的提升了我们的开发效率与质量,我们可以通过这些脚手架工具在本地快速构建我们的开发项目。 课程目录结构1、CLI课程介绍   2、CLI课程纲领和讲师介绍3、CLI课程内容概述    4、CLI命令行工具及场景应用5、CLI课程准备工具和技术   6、CLI课程收获和收益  7、CLI课程实战案例介绍   8、npm CLI 命令行工具发展现状9、创建第一个命令行自定义命令   10、process.argv 接收命令行参数11、commander 工具使用介绍一   12、commander 工具使用介绍二13、inquirer 工具使用介绍   14、ora 加载工具使用介绍15、chalk 颜色工具使用介绍   16、download-git-repo 仓库工具介绍17、创建脚手架命令   18、创建命令可执行文件19、damiao add 命令行指令开发   20、damiao add 模板录入校验21、damiao delete 命令行指令开发   22、damiao list 命令行指令开发23、damiao init 初始化项目指令开发   24、damiao init 指令参数输入校验25、damiao 命令行指令测试.mp4  26、创建npm个人账号及发布npm仓库27、全局安装脚手架工具

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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