收录日期:2019/02/16 20:11:40 时间:2016/05/24 00:19:07 标签:疑难问题
直接像下面这样,没有问题.
exec sp_executesql
N'
INSERT INTO "iSale_JXC".."UserPermission" ("LogonUser","RightID") VALUES (@P1,@P2); 
INSERT INTO "iSale_JXC".."UserPermission" ("LogonUser","RightID") VALUES (@P3,@P4); 
INSERT INTO "iSale_JXC".."UserPermission" ("LogonUser","RightID") VALUES (@P5,@P6)
',N'@P1 varchar(5),@P2 varchar(6),@P3 varchar(5),@P4 varchar(6),@P5 varchar(5),@P6 varchar(6)','UserA','111111','UserB','222222','UserC','333333'

可是我下面这样生成的@cmd1+@cmd2+cmd3和上面sp_executesql后的内容一模一样
,但为什么执行就报错呢??
declare @cmd1 nvarchar(500)
declare @cmd2 nvarchar(500)
declare @cmd3 nvarchar(500)

----cmd1
set @cmd1='
INSERT INTO "iSale_JXC".."UserPermission" ("LogonUser","RightID") VALUES (@P1,@P2); 
INSERT INTO "iSale_JXC".."UserPermission" ("LogonUser","RightID") VALUES (@P3,@P4); 
INSERT INTO "iSale_JXC".."UserPermission" ("LogonUser","RightID") VALUES (@P5,@P6)
'
   set @cmd1='N'+''''+@cmd1+''''+','
 
----cmd2
set @cmd2=
'@P1 varchar(5),@P2 varchar(6),@P3 varchar(5),@P4 varchar(6),@P5 varchar(5),@P6 varchar(6)'

set @cmd2='N'+''''+@cmd2+''''+','

----cmd3
set @cmd3=QuoteName('UserA','''')+','+QuoteName('111111','''')+','+ QuoteName('UserB','''')+','+ 
          QuoteName('222222','''')+','+QuoteName('UserC','''')+','+ QuoteName('333333','''')

exec sp_executesql @cmd1,@cmd2,@cmd3

我的目的是想在Delphi中生成@cmd1,@cmd2,@cmd3中的内容,然后传给sp_executesql
,这样可以动态生成Insert或Update语句.所以先用上面的程序做实验,但为什么
第二段程序就不能运行呢?

怎么设置另一个form上TabOrder为0的edit为焦点位置。 一个很大的c/c++项目,是怎样分工合作的? ArrayList 转换问题 寒江独钓第3章所有的所有的写都禁止,怎么做?求指教 求教使用事务机制 各位已经工作的大哥大姐们给点建议意见 地址栏参数值为汉字时的极奇怪问题请教 卖鱼的,听说鱼要涨价了! 学习C语言的朋友请进 CodeBetter.Json.CF 怎么使用啊 关于定义函数? linux 下自动备份监视的文件 Java,C,C++,PHP,NET,FLASH 众人且说说看,该选学哪个??? 上传图片到sql2000 GridView页面传值问题 求用C#和.net.mail命名空间开发的邮件简单例子。急急急急啊 Java中的\"...\"是什么意思? MSHFlexGrid4个表的数据关系 怎么修改dll的名称和显示信息 当前上下文中不存在名称 struts2.1空间datetimepicker怎么用啊 c# panel滚动条无法滚动 Tool ComboBox的问题 求助!JSP为了防止重复添加记录违反PRIMARY KEY 约束 块设备驱动 2.6.36 请帮忙看下SQL语句怎么改 怎样动态设置表单里button属性 深圳市浩方科技有限公司 这公司怎么样 MFC中实现滚动新闻 请教一个关于二次开发的数据库的问题.