GUID问题 急 谢谢!

[复制链接]
查看11 | 回复3 | 2007-9-26 18:42:10 | 显示全部楼层 |阅读模式
我在写存储过程的时候,需要动态拼串,然后用系统存储过程执行,但拼串的变量中有一个数据类型为uniqueidentifier 类型,报错错误403:403 对数据类型而言运算符无效。运算符为add,类型为uniqueidentifier 。
查了一下帮助,uniqueidentifier 类型允许对 uniqueidentifier 值执行的操作只有比较 (=, , , =) 和检查 NULL(IS NULL 和 IS NOT NULL)。不允许使用其它算术运算符。
我遇到的问题是,动态串拼不了了。不知道如何解决,下面是我的存储过程:
@字段名
nvarchar(20),
@更新内容
nvarchar(1000),
@表ID
uniqueidentifier
AS
declare @sqlstr
nvarchar(2000)
set @sqlstr='update 患者信息表 set ' +@字段名+' =''' + @更新内容 + '''where 表ID= ' + @表ID
--print @sqlstr
exec sp_sqlexec @sqlstr
不知道我这样说 清楚了吗,那位大侠帮忙给出个解决方案。多谢多谢!!!!!!!
回复

使用道具 举报

千问 | 2007-9-26 18:42:10 | 显示全部楼层
表ID转成字符,cast(表ID as varchar(20))
回复

使用道具 举报

千问 | 2007-9-26 18:42:10 | 显示全部楼层
最初由 kissmoon 发布
[B]表ID转成字符,str(表ID)[/B]

回复

使用道具 举报

千问 | 2007-9-26 18:42:10 | 显示全部楼层
谢谢,问题已经解决。将字段类型设成nvarchar,隐性转换了一下。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行