DELPHI调用IN子句带变量的SQL储存过和报错.求解? 本帖最后由 W9757 于 2012-01-12 20:32:40 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 --set @qbppf='''042-24105-008-0101A'',''042-28054-009-0101A''' ProcedureName:='pu_oidsc1;1';储存过程CREATE PROCEDURE pu_oidsc1(和('''+@qbppf+''') 问题找到了,qbppf的长度长了,有25820之多.我用的是SQL2000,qbppf的长度是不确定的,有时会超过8000有时不会,那位有办法. 搞这么多distinct,你到底要干嘛的 程序中qbppf如果超过8000,比如是22000吧,那你可以存储过程里定义5个varchar(8000),这样上限是5*8000=40000了在程序中判断qbppf有多少个字符,然后分给那5个参数,具体怎么分你应该懂写吧,这里因为你的存储过程是from参数的,所以分的时候还要注意,不是一定要分8000个,这样查出来的结果肯定不对,因为有逗号嘛,比如分到7998的时候有逗号了,那么就截断了,留到下个参数,大概意思就这样了,最后我们给 5个参数赋值的时候是前面3个参数有有字符,后面2个为空好了,现在到存储过程这边存储过程中定义一个结果表判断参数1字符串是否为空先查参数1的记录集insert into 结果表判断参数2字符串是否为空 insert into 结果表//以此判断后面参数是否为空..................//最后select 结果表ok,结贴吧 问个dbgrid比较弱智的问题!! 那个软件试用期怎么做? qreport遇到的小问题! 杀人帖,最后幸存下来的给100分 急!上下键问题!!! 急求:Delphi6企业级解决方案及应用剖析 的光盘代码的下载! 在线等待,关于邮件本地保存的问题(TIdMessage.SaveToFile) 如何使POWERPDF支持中文 想在资源文件中包含若干张位图文件,并在程序中进行调用。 在数据库中有cgdd字段和cgtime字段,cgdd里面的纪录有很多相同怎样用sql语句让相同的纪录只显示一次 文本转数字??请教 动态删除动态创建的组件问题
CREATE PROCEDURE pu_oidsc1(
和
('''+@qbppf+''')
在程序中判断qbppf有多少个字符,然后分给那5个参数,具体怎么分你应该懂写吧,这里因为你的存储过程是from参数的,所以分的时候还要注意,不是一定要分8000个,这样查出来的结果肯定不对,因为有逗号嘛,比如分到7998的时候有逗号了,那么就截断了,留到下个参数,大概意思就这样了,最后我们给 5个参数赋值的时候是前面3个参数有有字符,后面2个为空好了,现在到存储过程这边
存储过程中定义一个结果表
判断参数1字符串是否为空
先查参数1的记录集insert into 结果表
判断参数2字符串是否为空 insert into 结果表
//以此判断后面参数是否为空
......
......
......
//
最后select 结果表
ok,结贴吧