消息 245,级别 16,状态 1,— —动态SQL
2013-03-05 15:06
381 查看
在数据库中,将sql语句拼接成一个字符串,其中有int型的数据拼接到一起,执行的时候就出现啦消息
'消息 245,级别 16,状态 1,第 65 行
在将 varchar 值 'SELECT p.Br_Division_Code,COUNT(DISTINCT p.Staff_No) [人数],' 转换成数据类型 int 时失败。
查得:在C# .NET里字符串与数字相加,所得的结果都是string型,在SQLserver 里面恰恰相反,sql里面数字与字符相加,会把字符转换成数字,如果转换不成功就出现这个 消息 245,级别 16,状态 1 错误。 解决:先把数字显示转换 cast(@number as varchar(50))然后再与字符相加,就可以啦
'消息 245,级别 16,状态 1,第 65 行
在将 varchar 值 'SELECT p.Br_Division_Code,COUNT(DISTINCT p.Staff_No) [人数],' 转换成数据类型 int 时失败。
查得:在C# .NET里字符串与数字相加,所得的结果都是string型,在SQLserver 里面恰恰相反,sql里面数字与字符相加,会把字符转换成数字,如果转换不成功就出现这个 消息 245,级别 16,状态 1 错误。 解决:先把数字显示转换 cast(@number as varchar(50))然后再与字符相加,就可以啦
相关文章推荐
- 消息 245,级别 16,状态 1,
- 消息 245,(246)级别 16,状态 1,将varchar类型转黄成int型时失败
- sql错误:消息 208,级别 16,状态 6,存储过程无效
- sql错误:消息 208,级别 16,状态 6,存储过程无效
- sql错误:消息 208,级别 16,状态 6,存储过程无效
- SQL执行分布式查询错误“服务器: 消息 7411,级别 16,状态 1,行 1”
- 消息 7314,级别 16,状态 1,第 1 行 链接服务器 "(null)" 的 OLE DB 访问接口 "MICROSOFT.JET.OLEDB.4.0" 不包含表 "Sheet1"。该表不存在,
- 消息 8101,级别 16,状态 1,第 1 行仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'CUSTOMER_TBL'中的标识列指定显式值。
- 消息 8134,级别 16,状态 1,第 1 行 遇到以零作除数错误
- 在往sql server 插入数据时 报此错误“ 消息 8152,级别 16,状态 14,第 1 行 将截断字符串或二进制数据。”
- 两个 datetime 列的差别导致了运行时溢出 消息 535,级别 16,状态 0
- 消息 8101,级别 16,状态 1,第 1 行 仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'MyShop'中的标识列指定显式值。
- “服务器: 消息 8152,级别 16,状态 9 ”的处理
- 处理SQL2000附加数据库时出现【服务器: 消息 1813,级别 16,状态 2,行 1未能打开新数据库】的异常
- 服务器:消息18456,级别16,状态1 用户‘sa’登录失败解决方法
- 消息 3254,级别 16,状态 1,第 1 行 设备 '我的备份设备2(D:\丹丹\My SQL SERVER\我的备份\备份设备2.bak)' 上的卷为空。
- 出现如下错误服务器: 消息 544,级别 16,状态 1,行 1 当 IDENTITY_INSERT 设置为 OFF 时,不能向表 'OrderList' 中的标识列插入显式值。
- MSSQL删除字段时出现 服务器: 消息 5074,级别 16,状态 1,行 1 的解决办法
- 消息 14607,级别 16,状态 1,过程 sp_send_dbmail,第 141 行 profile 名称无效
- 消息 15135,级别 16,状态 8,过程 sp_addextendedproperty,第 37 行 对象无效。'dbo.Message.messageId' 不允许有扩展属性,或对象不存在。 消息 15135,级别 16,状态 8,过程 sp_addextendedproperty,第 37 行 对象无效。'dbo.Message.messageName' 不允许有扩展属性,或对象不存在。