当前位置: 首页 > 面试题库 >

如何在ADO.NET中将“ DEFAULT”指定为SQL参数值?

颛孙晗昱
2023-03-14
问题内容

我有一个针对SQL2005的参数化SQL查询,该查询是通过代码动态创建的,因此我使用ADO.NETSqlParameter类将sql参数添加到中SqlCommand

在上述SQL中,我从具有默认值的表值函数中进行选择。我希望动态sql有时为这些默认参数指定一个值,而其他时候我想指定DEFAULT使用表值函数中定义的SQL

为了保持代码 整洁,
我不想动态添加SQLDEFAULT关键字并在使用非默认值时对其进行参数化,我只是想将其设置DEFAULT为my的值SQLParameter

我可以吗?在这种情况下,最佳做法是什么?


问题答案:

SQL查询参数 代替文字值。

您无法发送SQL关键字作为参数值,就像无法发送表标识符,列标识符,值列表(例如IN谓词)或表达式一样。参数的值 始终被
解释为文字值,就像在查询中包含带引号的字符串文字或数字文字一样。

抱歉,但是 准备查询 之前, 必须在SQL查询中包含一个SQL关键字。



 类似资料:
  • 问题内容: 我有一个查询,希望通过ASP.NET TableAdapter运行,该查询包含一个’IN’子句,该子句通过参数来接收它的值。 我的问题是,如何指定此参数?我想到了这样写条件语句: 其中@ParamList是参数的字符串,例如“ 4,12,45,23”,但是由于指定的id是Integer,因此它抱怨无法将String转换为Integer。这很有意义,但是有什么方法可以在ASP.NET T

  • 问题内容: 我有一张表,其中每当发生插入时所有列都会自动填充: 如何编写一条SQL语句,将新行插入到该表中,而无需手动提供要插入的任何具体值? 问题答案: 使用选项:

  • 问题内容: 我最近下载了watij。他们在他们的网站上说 注意:如果在Mac上运行,则必须添加Java VM参数。 我想知道这样做的步骤是什么,因为它们没有指定。 问题答案: 将-d32添加到vm参数意味着在运行应用程序时: 相反,您可以这样做: 它指定程序将在32位体系结构上运行。 要从 Eclipse 设置JVM参数,请执行以下操作: 1.右键单击要运行的类。 2.单击运行配置 。3.转到参数

  • 问题内容: 我有大量的卡令牌(16位数字)从xml文件上传到sql-server。问题是我将它们视为表达式,示例如下: 有什么建议将它们更改为16位数字吗?我试图更改数据类型,但出现错误 感谢帮助! 编辑: @XLAnt参见下面的代码。我从另一个表创建此表,而该表只是从xml文件插入的。这是因为TOKEN列中的某些行为空,可能会导致错误吗? 问题答案: 尝试在转换之前将字符串强制转换为float:

  • 问题内容: 我正在使用getopt处理命令行可选参数,该参数应接受列表。像这样: 但这会修剪“ [1,”之后的所有内容 我的问题是:A)有没有一种方法可以指定列表而不将其转换为字符串?(使用getopt) B)如果我要将列表转换成字符串,如何将这个列表转换成字符串?例如像mylist.split(“?”)这样的东西可以消除方括号?有没有更好的办法? 谢谢 问题答案: 我可以想到两种选择: 使用op

  • 数据库中有一个名为User的表。列如下: ID是主键,在本例中自动递增。我只有7条记录;数据的最后一个ID是7。 如何从任意数字(例如10000)开始递增ID。