在Sql2005中,向表中插入数据时遇到uniqueidentifier列,如何插入数据?

Sql2005中,提供了uniqueidentifier 数据类型。说白了,就是个GUID,这种类型开发时倒是很有必要的。

今天程序中遇到了这个问题:表里定义了一个uniqueidentifier 列,Asp.net程序需要向表中插入新的数据。Insert 语句由数据源控件自动生成:INSERT INTO [morning_Department] ([DepartmentId], [name]) VALUES (@DepartmentId, @name),其中DepartmentId列为一个uniqueidentifier 列。

错误提示:
Implicit conversion from data type sql_variant to uniqueidentifier is not allowed. Use the CONVERT function to run this query.

解决方法有2种:
1、在数据库中将Insert 操作写成存储过程,uniqueidentifier 列由SQL2005提供的NEWID()函数生成,Asp.net程序这边就不用负责生成这个值了;

2、还是按常规思路,只是在数据源控件InsertQuery属性中稍作修改即可。
①点击InsertQuery属性,打开‘命令和参数编辑器’;
②就上面写的那个Insert 语句来说,在‘参数’列表里选择‘DepartmentId’这个uniqueidentifier 列名称;
③右边有个‘显示高级属性’,点击它。滚动条拖到最下,有个‘Type’属性,默认值是‘Object ’类型,把它改为‘string’。
④Ok,收工。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值