数据库如果是Image类型,当执行插入语句时,如果插入的值是DBNull.Value时提示:操作数类型冲突: nvarchar 与 image 不兼容;

出现这个问题的原因是没有指定DbType的原因。大部分情况下,使用 SqlParameter的时候不需要指定参数的数据类型(DbType或者SqlDbType),ADO.Net会根据value的类型来自动判断出数 据类型,即使ADO.Net不能判断出来,SQLServer数据库服务器也能进行大部分的判断(当然会损失一些性能)。
但是对于这个程序中的Image类型就没那么幸运了,如果不指定DbType,而恰好数据又为Null/DbNull的时候,ado.net就把数据类型识别成为了nvarchar,就出现了上面的错误了。因此只要指定DbType或者SqlDbType即可。

//new SqlParameter("@Photo", SqlHelp.ToDBNull(employee.Photo)

new SqlParameter("@Photo", SqlDbType.Image) {Value=SqlHelp.ToDBNull(employee.Photo) }

所以当用上面的SqlParameter时,肯定会报错,用下面的SqlParameter,因为我们指定了SqlDbType类型为Image,这个错误就不会在出现。

本文参考了网址:http://bbs.itcast.cn/thread-11263-1-1.html

转载于:https://www.cnblogs.com/sxw117886/p/5445523.html

关于作数类型冲突: nvarchar 与 image 不兼容的问题相关推荐

  1. 六十二、Qt+Sqlserver 操作数类型冲突: varbinary 与 float 不兼容

    一.问题 我在构造参数时,将获取的参数值由字符串转换为 float 存入 QVariantMap 对象,存入数据库时会报错:操作数类型冲突: varbinary 与 float 不兼容 params[ ...

  2. 客户端访问Web Service--参数类型的序列化与反序列化(一)

    最近开始着手学习ASP.NET AJAX,在园里看了很多关于这方面的文章,自己也曾买了关于ASP.NET AJAX的书籍,本文我将借鉴于老赵的WebCast深入浅出系列课程第五讲以记学习笔记的形式和大 ...

  3. C++开发报错之 “模块计算机类型x64与目标计算机x86类型冲突”

    转载请注明:https://blog.csdn.net/xitie8523/article/details/79665221 问题描述:笔记本是win7,64位,vs2010开发,计算机操作系统上创建 ...

  4. mysql最大整数类型_MySQL教程19-整数类型

    整数类型又称数值型数据,数值型数据类型主要用来存储数字. MySQL 提供了多种数值型数据类型,不同的数据类型提供不同的取值范围,可以存储的值范围越大,所需的存储空间也会越大. MySQL 主要提供的 ...

  5. 如何辨别数清冲突域和广播域

    1.首先,须知第一层不能隔离冲突域和广播域.例如集线器或者直接连PC 2.其次,第二层可以隔离冲突域,但不能隔离广播域.例如,二层交换机 3.接着,第三层可以隔离广播域,默认隔离冲突域,例如,路由器 ...

  6. 计算机水冷mod大赛,MOD大赛冠军之作 数万元爆改箱式水冷机

    1数万元爆改箱式定制机 前不久,由著名机电与散热领导品牌"Tt"联合中关村在线及各大主流IT媒体共同举办的中国首届水冷MOD达人邀请赛已经结束,由华北.东北.华中.华南等6个地区的 ...

  7. C#到Java byte类型冲突的解决

    最近要改写一个核心加密认证类,从C#改写成Java. 发现在调试时,加密的数据无论如何也对不上. 经过跟踪,发现问题出在C#和Java byte类型的区别上:在C#里 byte类型是无符号的,而Jav ...

  8. mysql double 20_MySQL教程20-小数类型

    MySQL 中使用浮点数和定点数来表示小数. 浮点类型有两种,分别是单精度浮点数(FLOAT)和双精度浮点数(DOUBLE):定点类型只有一种,就是 DECIMAL. 浮点类型和定点类型都可以用(M, ...

  9. .net 预编译 提示中导入的类型 冲突

    之所以会出现你遇到的这个问题,是因为项目引用了自身的Dll文件,系统就把项目本身和项目本身生成的DLl文件看成两个项目来对待,因为它们两个本身就是对等的,就会出现冲突的问题.解决办法很简单,就是去掉项 ...

最新文章

  1. 在Linux中安装SEP Client
  2. 龙武2服务器在维护,龙武5.25更新维护时间_龙武5.5更新维护详情_牛游戏网
  3. Fedora/RedHat安装Mysql8.0
  4. java awt文件上传_springMVC实现前台带进度条文件上传的示例代码
  5. 35岁遭遇互联网公司无情裁员,面试屡屡碰壁,原因竟是……
  6. linux下Zlib的安装与使用
  7. 奥维地图数据格式_奥维地图导入文件显示 奥维地图支持什么格式文件
  8. 六自由度机械臂雅可比矩阵计算
  9. 2017第八届CSTQB国际软件测试高峰论坛圆满召开
  10. 进销存小程序(一)项目整体功能和设计
  11. spring boot整合第三方微信开发工具 weixin-java-miniapp 实现小程序微信登录
  12. 2020CVPR对抗样本相关论文整理(无开源代码)
  13. LeetCode知识点总结 - 2073
  14. 用广发卡自动分期买苹果还是华为?
  15. Python:fractions(分数)模块的使用
  16. 国标28181:jrtplib从编译到使用
  17. Go语言中的uint和int的区别
  18. 层层递进!MySQL性能优化步骤演进,一顿饭的时间我就会了
  19. HADOOP数据仓库
  20. pandas与数据库

热门文章

  1. C10k破局(一)——线程池和消息队列实现高并发服务器
  2. 增强团队创新力需要打造多样性团队
  3. 程序员吐槽市场饱和,混不下去要转行?
  4. VQA系列论文(一)
  5. 【附源码】计算机毕业设计SSM校园二手交易平台
  6. MTK刷机教程驱动安装教程及刷机软件参评内容
  7. 可视化高维数据:T-SNE
  8. 专访人人网黄晶:SNS网站后台架构探秘
  9. ARM与单片机有啥区别?
  10. Linux打包解压命令:tar