如果前一个参数为空,则参数没有默认值?

2023-11-29

我有这个查询,除非我尝试在参数中传递空值,否则它似乎可以工作:

using (OleDbCommand com = new OleDbCommand("INSERT INTO [GROUP] ([Group Number], [Group Name], [Address 1], " +
                        " [Address 2], [City State Zip], [Phone], [Carrier Code], [Retail Plan Num 1], [Retail Plan Num 2], " +
                        " [Retail Plan Num 3], [Retail Plan Num 4], [Retail Plan Num 5], [Plan Start Date 1], [Plan Start Date 2], " +
                        " [Plan Start Date 3], [Plan Start Date 4], [Plan Start Date 5]" +
                        ") VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", con))
                    {
                        com.Parameters.Add("@p0", OleDbType.Char, 255).Value = values[0];
                        com.Parameters.Add("@p1", OleDbType.Char, 255).Value = values[1];
                        com.Parameters.Add("@p2", OleDbType.Char, 255).Value = values[2];
                        com.Parameters.Add("@p3", OleDbType.Char, 255).Value = values[3];
                        com.Parameters.Add("@p4", OleDbType.Char, 255).Value = values[4];
                        com.Parameters.Add("@p5", OleDbType.Char, 255).Value = values[5];
                        com.Parameters.Add("@p6", OleDbType.Char, 255).Value = values[6];

                        string[] values7 = values[7].Split('\t');                               
                        com.Parameters.Add("@p7", OleDbType.Char, 255).Value = values7[0];
                        com.Parameters.Add("@p8", OleDbType.Char, 255).Value = values7[1];
                        com.Parameters.Add("@p9", OleDbType.Char, 255).Value = values7[2];
                        com.Parameters.Add("@p10", OleDbType.Char, 255).Value = values7[3];
                        com.Parameters.Add("@p11", OleDbType.Char, 255).Value = values7[4];

                        com.Parameters.Add("@p12", OleDbType.Date, 255).Value = "1/1/1999";
                        com.Parameters.Add("@p13", OleDbType.Date, 255).Value = null;   
                        com.Parameters.Add("@p14", OleDbType.Date, 255).Value = "1/1/1999";
                        com.Parameters.Add("@p15", OleDbType.Date, 255).Value = "1/1/1999";
                        com.Parameters.Add("@p16", OleDbType.Date, 255).Value = "1/1/1999";

                        com.ExecuteNonQuery();
                    }

这将返回一个错误Parameter ?_14 has no default value。如果我更改上面的代码,使 p12 参数为空,则错误显示Parameter ?_13 has no default value.

这里发生了什么?


参数带有.Value of null 没有通过。完全没有。

你需要通过DBNull.Value而是传递一个semantic null。例如:

com.Parameters.Add("@p7", OleDbType.Char, 255).Value =
         ((object)values7[0]) ?? DBNull.Value;

(etc)

是的:我同意这很荒谬

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如果前一个参数为空,则参数没有默认值? 的相关文章

  • WPF DataGrid 多选

    我读过几篇关于这个主题的文章 但很多都是来自 VS 或框架的早期版本 我想做的是从 dataGrid 中选择多行并将这些行返回到绑定的可观察集合中 我尝试创建一个属性 类型 并将其添加到可观察集合中 它适用于单个记录 但代码永远不会触发多个
  • 如何将 std::string& 转换为 C# 引用字符串

    我正在尝试将 C 函数转换为std string参考C 我的 API 如下所示 void GetStringDemo std string str 理想情况下 我希望在 C 中看到类似的东西 void GetStringDemoWrap r
  • STL 迭代器:前缀增量更快? [复制]

    这个问题在这里已经有答案了 可能的重复 C 中的预增量比后增量快 正确吗 如果是 为什么呢 https stackoverflow com questions 2020184 preincrement faster than postinc
  • 在 xaml 中编写嵌套类型时出现设计时错误

    我创建了一个用户控件 它接受枚举类型并将该枚举的值分配给该用户控件中的 ComboBox 控件 很简单 我在数据模板中使用此用户控件 当出现嵌套类型时 问题就来了 我使用这个符号来指定 EnumType x Type myNamespace
  • 从经典 ASP 调用 .Net C# DLL 方法

    我正在开发一个经典的 asp 项目 该项目需要将字符串发送到 DLL DLL 会将其序列化并发送到 Zebra 热敏打印机 我已经构建了我的 DLL 并使用它注册了regasm其次是 代码库这使得 IIS 能够识别它 虽然我可以设置我的对象
  • 如何使从 C# 调用的 C(P/invoke)代码“线程安全”

    我有一些简单的 C 代码 它使用单个全局变量 显然这不是线程安全的 所以当我使用 P invoke 从 C 中的多个线程调用它时 事情就搞砸了 如何为每个线程单独导入此函数 或使其线程安全 我尝试声明变量 declspec thread 但
  • 用于 FTP 的文件系统观察器

    我怎样才能实现FileSystemWatcherFTP 位置 在 C 中 这个想法是 每当 FTP 位置添加任何内容时 我都希望将其复制到我的本地计算机 任何想法都会有所帮助 这是我之前问题的后续使用 NET 进行选择性 FTP 下载 ht
  • 方程“a + bx = c + dy”的积分解

    在等式中a bx c dy 所有变量都是整数 a b c and d是已知的 我如何找到整体解决方案x and y 如果我的想法是正确的 将会有无限多个解 由最小公倍数分隔b and d 但我只需要一个解决方案 我可以计算其余的 这是一个例
  • C# 列表通用扩展方法与非通用扩展方法

    这是一个简单的问题 我希望 集合类中有通用和非通用方法 例如List
  • 使用 C# 中的 CsvHelper 将不同文化的 csv 解析为十进制

    C 中 CsvHelper 解析小数的问题 我创建了一个从 byte 而不是文件获取 csv 文件的类 并且它工作正常 public static List
  • x:将 ViewModel 方法绑定到 DataTemplate 内的事件

    我基本上问同样的问题这个人 https stackoverflow com questions 10752448 binding to viewmodels property from a template 但在较新的背景下x Bind V
  • 为什么 C# 2.0 之后没有 ISO 或 ECMA 标准化?

    我已经开始学习 C 并正在寻找标准规范 但发现大于 2 0 的 C 版本并未由 ISO 或 ECMA 标准化 或者是我从 Wikipedia 收集到的 这有什么原因吗 因为编写 审查 验证 发布 处理反馈 修订 重新发布等复杂的规范文档需要
  • C# xml序列化必填字段

    我需要将一些字段标记为需要写入 XML 文件 但没有成功 我有一个包含约 30 个属性的配置类 这就是为什么我不能像这样封装所有属性 public string SomeProp get return someProp set if som
  • 空指针与 int 等价

    Bjarne 在 C 编程语言 中写道 空指针与整数零不同 但 0 可以用作空指针的指针初始值设定项 这是否意味着 void voidPointer 0 int zero 0 int castPointer reinterpret cast
  • LINQ:使用 INNER JOIN、Group 和 SUM

    我正在尝试使用 LINQ 执行以下 SQL 最接近的是执行交叉联接和总和计算 我知道必须有更好的方法来编写它 所以我向堆栈团队寻求帮助 SELECT T1 Column1 T1 Column2 SUM T3 Column1 AS Amoun
  • 为什么使用小于 32 位的整数?

    我总是喜欢使用最小尺寸的变量 这样效果就很好 但是如果我使用短字节整数而不是整数 并且内存是 32 位字可寻址 这真的会给我带来好处吗 编译器是否会做一些事情来增强内存使用 对于局部变量 它可能没有多大意义 但是在具有数千甚至数百万项的结构
  • 编译时展开 for 循环内的模板参数?

    维基百科 here http en wikipedia org wiki Template metaprogramming Compile time code optimization 给出了 for 循环的编译时展开 我想知道我们是否可以
  • 在OpenGL中,我可以在坐标(5, 5)处精确地绘制一个像素吗?

    我所说的 5 5 正是指第五行第五列 我发现使用屏幕坐标来绘制东西非常困难 OpenGL 中的所有坐标都是相对的 通常范围从 1 0 到 1 0 为什么阻止程序员使用屏幕坐标 窗口坐标如此严重 最简单的方法可能是通过以下方式设置投影以匹配渲
  • Mono 应用程序在非阻塞套接字发送时冻结

    我在 debian 9 上的 mono 下运行一个服务器应用程序 大约有 1000 2000 个客户端连接 并且应用程序经常冻结 CPU 使用率达到 100 我执行 kill QUIT pid 来获取线程堆栈转储 但它总是卡在这个位置
  • 使用 WGL 创建现代 OpenGL 上下文?

    我正在尝试使用 Windows 函数创建 OpenGL 上下文 现代版本 基本上代码就是 创建窗口类 注册班级 创建一个窗口 choose PIXELFORMATDESCRIPTOR并设置它 创建旧版 OpenGL 上下文 使上下文成为当前

随机推荐

  • 带比较器的 Java 8 流过滤器

    我想过滤列表MyObject基于values场地 在这种情况下 如果有任何值MyObject getValues小于给定值value 则谓词为假 我还没有找到使用 Stream API 的方法 所以我尝试了ComparatorPredica
  • CodeSandbox.io 标签未加载图像

    我一直在尝试使用添加图像 img tag on CodeSandbox io 但是 每次我尝试添加它时 它都不会显示 只是默认为alt标签 显示山 我正在尝试将图像加载到与包含此 JS 文件的文件相同的文件夹中 下面是生成 HTML 的代码
  • 此集合实例上不存在属性 [title]

    我正在关注 Laracasts 的视频 基本模型 控制器 视图工作流程 我有一张表保存联系信息 CREATE TABLE about id int 10 UNSIGNED NOT NULL title varchar 500 COLLATE
  • Django 中的 DecimalField 验证

    我正在尝试验证DecimalField在姜戈中 在外壳中尝试 gt gt from django forms import DecimalField gt gt from django core validators import MaxV
  • WinSCP 命令行:在缓存错误中找不到主机密钥

    我第一次尝试从 WinSCP 命令行连接到 Unix 服务器 它关闭并出现以下错误 在缓存中找不到服务器的主机密钥 您无法保证 服务器是您认为的计算机 服务器的 rsa2 密钥指纹是 ssh rsa 1024 42 9e c7 f4 7f
  • 在 C++14 中使用 auto 作为返回值和参数类型

    在 Bjarne Stroustrup 的书 C 编程语言 的第四版中 我们读到 使用 auto 我们可以避免冗余和编写长类型名称 这在泛型编程中尤其重要 因为程序员很难知道对象的确切类型 并且类型名称可能很长 第 4 5 1 节 所以 了
  • iReport 中每个组的新页面

    我正在使用 iReport 5 6 0 我想为每个组创建新页面 例如我有桌子people i know Id Name State 1 Tom friends 2 Jim friends 3 Mike enemy 4 Alex friend
  • 使用 pyuic 将 .ui 转换为 .py?

    我正在使用 OSX 10 8 python 2 7 5 我刚刚使用 QtDesigner 构建了一个 GUI 并试图弄清楚如何在 Python 中使用它 我发现我必须使用 pyuic 以及如何在此处执行此操作 pyqt在mac osx雪豹中
  • asp.net通过kerberos将Windows身份验证集成到sql服务器

    请问有人可以提供一种简单 直接的方法来启用 ASP NET gt Kerberos gt Sql Server 吗 我们有客户端机器 gt 网络服务器 gt 数据库服务器 客户端坚持要求站点必须拉取 Windows 登录名而不是提示 因此需
  • Java 中的强制可克隆接口

    我在 Java 中遇到了一个小问题 我有一个名为 可修改 的界面 实现此接口的对象是可修改的 我还有一个 ModifyCommand 类 具有命令模式 它接收两个可修改对象 以进一步在列表中交换它们 这不是我的问题 我已经设计了该解决方案
  • 如何使用 FormData API 发出 POST 请求

    我想使用 http post 将用户名和 form data 对象传递到 php 文件 当我只传递 form data 时 它可以上传我的图片 但我还想传递一些其他信息 例如用户名 请帮助我如何在 http post 中传递其他数据 这是我
  • Mongoose 仅​​选择在架构中明确声明的字段

    当使用 Mongoose 并查询数据库时 默认情况下会选择所有字段 并且我必须明确告诉 Mongoose 我不想选择哪些字段 例如 如果我不想要该字段user我应该做 var schema new Schema insertedAt typ
  • 从 GridView 项目中获取值

    我正在开发一个项目 其中有一个 5x5 的 TextView 网格 我想检查整行或整列是否具有相同的元素 我正在使用 Adapter 类来仅用一个 textview 元素来扩充我的 gridview 这是我尝试过的代码 但我似乎无法使其工作
  • Android 2.2 联系人生日日期

    我正在尝试从 android 2 2 的联系方式获取生日日期 有人可以帮我查询一下吗 这是我的代码 Override public void onCreate Bundle savedInstanceState super onCreate
  • socket.io 和不同的文件夹 --- 找到解决方案

    我是 socket io 的新手 我已经遇到了一个问题 我认为是小问题 我已经使用 npm 正确安装了 node js 和 socket io 然后为了测试 我从 socket io 剪切并粘贴了一个代码示例 一切正常 现在 我想构建我的代
  • PHP:imagepng 正在创建异常大的文件

    我正在使用我编写的一个简单的缩略图脚本 它非常标准 imgbuffer imagecreatetruecolor thumbwidth thumbheight switch type case 1 image imagecreatefrom
  • PHP PDO 扩展无法在 IIS 上运行

    我有一个使用 autoload 加载类的脚本 愚蠢 我知道 这是我用来娱乐 测试的旧代码 它似乎正在尝试自动加载 PDO 这让我相信它没有找到应有的 PDO 类 我已经检查了 php ini 和 php pdo dll 是否已启用 以及 p
  • 在 Android 上旋转 YUV 字节数组

    我正在寻找旋转从 Preview Callblack 收到的 YUV 帧预览 到目前为止 我已经创建了这篇文章 其中包含一种旋转帧预览的算法 但弄乱了预览图像相机像素旋转 旋转图像的另一种方法是从 YUV 图像创建 jpg 创建位图 旋转位
  • 生成一系列值之间的随机双精度值

    我目前无法生成 32 768 和 32 768 之间的随机数 它一直给我相同的值 但小数字段有微小的变化 例如 27 xxx 这是我的代码 任何帮助将不胜感激 include
  • 如果前一个参数为空,则参数没有默认值?

    我有这个查询 除非我尝试在参数中传递空值 否则它似乎可以工作 using OleDbCommand com new OleDbCommand INSERT INTO GROUP Group Number Group Name Address