添加更多参数,然后在查询中使用?

蒂勒·德克莱克(Tiele Declercq)

有没有一种方法可以将参数添加到我的SqlCommand中,以使引擎在我的查询中不使用它时也不会抱怨?

我的查询中包含大约50个参数,但是需要包含哪些参数在很大程度上取决于情况。如果我可以将它们全部放在顶部并在添加参数之后构建查询,则可以轻松删除200行代码。

一个非常简单/愚蠢/错误的示例(是的,这里的解决方案是将id添加到else子句中)

cmd.Parameters.Add("@id", SqlDbType.Int).Value = id;
cmd.Parameters.Add("@name", SqlDbType.nVarChar, 250).Value = name;

if(id == null) cmd.CommandText = "INSERT INTO tab (name) VALUES (@name)";
else cmd.CommandText = "UPDATE tab SET name = @name WHERE id = @id";

这将返回错误:

System.Data.SqlClient.SqlException:参数化查询'(@ id,@ name)'需要参数'@id',但未提供

如果不可能,则只需接受一个简单的“否”作为答案。

马克·格雷维尔(Marc Gravell)

有没有一种方法可以将参数添加到我的SqlCommand中,以使引擎在我的查询中不使用它时也不会抱怨?

如果您添加参数并且不使用它,ADO.NET不会抱怨。您报告的错误消息是因为您尝试使用添加的参数-相反的情况。最有可能idnullnull 不会添加值为的参数-您需要使用DBNull.Value

cmd.Parameters.Add("@id", SqlDbType.Int).Value = ((object)id) ?? DBNull.Value;
cmd.Parameters.Add("@name", SqlDbType.nVarChar, 250)
         .Value = ((object)name) ?? DBNull.Value;

另外,“ dapper”之类的工具也可以简化此操作:

conn.Execute(sql, new { id, name }); // job done

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在猫鼬中使用更多然后$ group

来自分类Dev

在SSRS查询中使用参数

来自分类Dev

SSRS:使用数据集填充复选框参数,然后在查询中的where条件中使用这些结果

来自分类Dev

如何在新呼叫中使用更多参数?

来自分类Dev

如何在element.someEvent函数中使用更多参数

来自分类Dev

如何在信号处理程序中使用更多参数?

来自分类Dev

如何在element.someEvent函数中使用更多参数

来自分类Dev

如何使用MySQL查询添加更多条件?

来自分类Dev

在参数化查询中使用Replace()函数

来自分类Dev

在dbaccess中使用空参数获取查询

来自分类Dev

如何在Shiny中使用查询参数

来自分类Dev

如何在属性中使用查询参数?

来自分类Dev

在GraphQL参数化查询中使用ID

来自分类Dev

在HANA / CrystalReports中使用参数计算查询

来自分类Dev

在pyspark中的oracle查询中使用参数

来自分类Dev

在dbaccess中使用空参数获取查询

来自分类Dev

在参数化查询中使用Replace()函数

来自分类Dev

在 Postgres 的 SELECT 查询中使用动态参数?

来自分类Dev

在变量中使用bash参数,然后循环遍历

来自分类Dev

WSO2 ESB Rest API查询参数-如何使用更多参数?

来自分类Dev

如何在 MongoDB 中查询文档的 id,然后在使用 java 的新查询中使用该 id

来自分类Dev

Access SQL查询缺少更多必需参数

来自分类Dev

使用在Spring Batch中使用参数的查询

来自分类Dev

向MySQL查询添加更多IF条件

来自分类Dev

如何在IEnumerable的末尾添加更多查询

来自分类Dev

保存选择查询中的值,然后在更新查询中使用它们SQL Server CE

来自分类Dev

如何从Web界面获取查询,在python代码中使用查询,然后在perl代码中读取结果?

来自分类Dev

Android WebView添加更多URL参数值

来自分类Dev

如何在shell脚本中使用大小写参数,然后再输入不同的参数?

Related 相关文章

  1. 1

    如何在猫鼬中使用更多然后$ group

  2. 2

    在SSRS查询中使用参数

  3. 3

    SSRS:使用数据集填充复选框参数,然后在查询中的where条件中使用这些结果

  4. 4

    如何在新呼叫中使用更多参数?

  5. 5

    如何在element.someEvent函数中使用更多参数

  6. 6

    如何在信号处理程序中使用更多参数?

  7. 7

    如何在element.someEvent函数中使用更多参数

  8. 8

    如何使用MySQL查询添加更多条件?

  9. 9

    在参数化查询中使用Replace()函数

  10. 10

    在dbaccess中使用空参数获取查询

  11. 11

    如何在Shiny中使用查询参数

  12. 12

    如何在属性中使用查询参数?

  13. 13

    在GraphQL参数化查询中使用ID

  14. 14

    在HANA / CrystalReports中使用参数计算查询

  15. 15

    在pyspark中的oracle查询中使用参数

  16. 16

    在dbaccess中使用空参数获取查询

  17. 17

    在参数化查询中使用Replace()函数

  18. 18

    在 Postgres 的 SELECT 查询中使用动态参数?

  19. 19

    在变量中使用bash参数,然后循环遍历

  20. 20

    WSO2 ESB Rest API查询参数-如何使用更多参数?

  21. 21

    如何在 MongoDB 中查询文档的 id,然后在使用 java 的新查询中使用该 id

  22. 22

    Access SQL查询缺少更多必需参数

  23. 23

    使用在Spring Batch中使用参数的查询

  24. 24

    向MySQL查询添加更多IF条件

  25. 25

    如何在IEnumerable的末尾添加更多查询

  26. 26

    保存选择查询中的值,然后在更新查询中使用它们SQL Server CE

  27. 27

    如何从Web界面获取查询,在python代码中使用查询,然后在perl代码中读取结果?

  28. 28

    Android WebView添加更多URL参数值

  29. 29

    如何在shell脚本中使用大小写参数,然后再输入不同的参数?

热门标签

归档