当你是使用参数化查询时为参数赋值时,比如command.Parameters.Add("@a",SqlDbType.Text,30).Value=a;当a=null是将报错:

错参数化查询 '(@a varchar(100)....' 需要参数 '@a',但未提供该参数

只是因为你给a的值为null,而数据库中的null(空)是System.DBNull 类型的不是同一类。所以在插入空的时候要用DBNull,而不是null,

所以可以这样改:

command.Parameters.Add("@a",SqlDbType.Text,30).Value=a ?? DBNull.Value;

?? :?? 运算符称作 null 合并运算符。如果此运算符的左操作数不为 null,则此运算符将返回左操作数;否则返回右操作数。

但是还是会报下面的错误。

解决方法:

很简单只要在后面加上 ToString()就好了;

如下

command.Parameters.Add("@a",SqlDbType.Text,30).Value=a ?? DBNull.Value.ToString();

参数化查询 但未提供该参数(将null插入数据库)相关推荐

  1. 牛腩新闻发布--过程或函数 'news_selectByCaId' 需要参数 '@caid',但未提供该参数(一)

    发现问题 今天敲击牛腩,在敲击Web页面的List.aspx之后,点击Ctrl+F5运行,发现运行不了,首先是数据库中调取数据有问题,因为这个数据是用存储过程调取的,所以需要修改存储过程,这时候只需要 ...

  2. 牛腩新闻发布--过程或函数 'news_selectByCaId' 需要参数 '@caid',但未提供该参数(三)

    发现问题 这篇博客是建立在"牛腩新闻发布–过程或函数 'news_selectByCaId' 需要参数 '@caid',但未提供该参数(二)",因为在那篇博客中说出了我当时遇到的& ...

  3. 牛腩新闻发布--过程或函数 'news_selectByCaId' 需要参数 '@caid',但未提供该参数(二)

    发现问题 之前有一篇博客是因为存储过程中没有添加相应的函数,导致出现了"过程或函数 'news_selectByCaId' 需要参数 '@caid',但未提供该参数",这次继续出现 ...

  4. 【牛腩】过程或函数 ‘news_selectByCaId‘ 需要参数 ‘@caid‘,但未提供该参数

    [前言] 在运行牛腩的时候会有提示过程或者函数缺少参数.这个是因为存储过程中写的缺少参数,添加相应的参数就可以了. [问题描述] 过程或函数 'news_selectByCaId' 需要参数 '@ca ...

  5. 【牛腩】-'T_news_selectByCaId' 需要参数 '@caid',但未提供该参数。”

    问题截图 解决方案: 改动存储过程 BEGINselect n.id,n.title,n.createTime,c.[name],n.caId from T_news ninner join T_ca ...

  6. Jdbc访问mysql查询聚合函数_JDBC连接参数设置对Oracle数据库的影响分析

    一次数据库性能问题处理引发的JDBC参数设置思考 近期某环境下系统,出现大面积页面访问缓慢情况,每个页面交易响应时间2-5秒,严重超过平日访问阈值. 经排查分析,问题主要出现在数据库,生成AWR得到3 ...

  7. UCML页面生成后突然不能访问 参数化查询 '(@ActivityID nvarchar(4000))SELECT ActivityInfoEx.ActivityInfoEx' 需要参数 '@Acti

    UCML编辑了某个BPO之后.页面报错,提示如下信息 参数化查询 '(@ActivityID nvarchar(4000))SELECT ActivityInfoEx.ActivityInfoEx' ...

  8. SqlServer:带IN()子句C#的参数化查询

    目录 介绍 IN()子句帮助类 SQL查询构建 具有实体框架的参数化查询 使用SqlCommand进行参数化查询 数据 数据库,表和数据行 Db连接字符串 其他数据库 一个实用程序类,使用参数化查询在 ...

  9. dapper mysql 多参数查询_使用Dapper进行参数化查询

    在使用Dapper操作Mysql数据库中我介绍了使用dapper进行CURD基本操作,但在示例代码中参数虽然也是通过@开头,但其实不是真正意义的参数化查询,而是拼接sql,这种方式不利于防止sql注入 ...

最新文章

  1. 二、使用rails3.0自带的数据检查功能检查输入数据
  2. 【bzoj4592】[Shoi2015]脑洞治疗仪
  3. Open images from USB camera on linux using V4L2 with OpenCV
  4. 最短路算法模板--SPFA
  5. 后台如何通过Request取得多个含有相同name的控件的值?
  6. A - System Administrator CodeForces - 245A(水题)
  7. Microsoft Hololens开发上手(4)
  8. python栈应用_栈应用之 后缀表达式计算 (python 版)
  9. AngularJS中$timeout和$interval的用法详解
  10. CENTOS 7.0 安装discuz ,搭 mysql +php+apache 环境
  11. Python基础学习3——集合、文件、函数
  12. linux sed批量更改文件,Linux利用sed批量修改文件名(示例代码)
  13. 数据结构题集c语言版题目与答案,数据结构题集(C语言版)答案 - 严蔚敏编著...
  14. Win10下 vc++6.0打开文件闪退解决
  15. 服务器显示cpu温度高,高手教你巧解cpu温度过高问题
  16. 基于 CentOS 7 配置 NIS 主从实现集中化认证
  17. CentOS8下超详细安装配置kubernetes(K8S)
  18. 校招vivo技术面试总结
  19. 组建一个计算机网络系统有,组建一个计算机网络一般需要哪些部件
  20. EEG-MI 基于EEG信号的运动想象分类实验

热门文章

  1. Nature综述:进化病毒毒力的系统发育基因组学
  2. QIIME 2用户文档. 12训练特征分类器Training feature classifiers(2018.11)
  3. 计算机专业教育,科学网—中国大学计算机教育路在何方? - 吴军的博文
  4. Seaborn使用set_context函数调整绘图标签和线条的大小、设置不同的模式、例如notebook模式、PPT模式、海报模式等、set_context函数可以指定绘图上下文并自动调整标签和线条
  5. R语言KMeans聚类分析确定最优聚类簇数实战:间隙统计Gap Statistic(确定最优聚类簇数)
  6. R语言merge函数全连接dataframe数据(Full (outer) join)、merge函数进行全连接必须将参数all设置为true(all=TRUE)、默认merge函数通过公共列名合并数
  7. 什么是生存分析(survival analysis)?
  8. R语言配置可视化内容中的字体为斜体(italic)实战:标题斜体、轴标签斜体、文本内容斜体、或者部分内容斜体
  9. python模拟退火(Simulated Annealing)参数寻优实战
  10. 概率潜在语义分析(Probabilistic Latent Semantic Analysis,PLSA)