问题标签 [sqlparameter]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 如何获取包含参数的完整 sql 查询
我最近涉足 SQL 中的参数化查询。我现在在执行查询时收到有关日期的投诉
日历 System.Globalization.GregorianCalendar 不支持字符串表示的 DateTime。
当我得到查询时,我得到参数化的查询字符串
为了调试这个我需要得到的是
我到底该怎么做?我怀疑这很简单,但我就是看不到!
datetime 参数添加了以下内容:
并且正常运行时间正在设置
sql - MSSQL 中带有 XML 查询的存储过程参数给出“参数必须是字符串文字”
我正在尝试使用带有查询和值函数的 xml 数据列查询表。使用常规字符串文字时一切正常,但如果我将其放入存储过程并尝试使用变量,则它不起作用。
我想我没有使用正确的数据类型,但是经过一番搜索后,我无法弄清楚查询函数想要什么数据类型。
示例:表包含
现在,使用选择查询
得到我想要的数据。但是,如果我在存储过程中使用它并使用参数@xpath varchar(100)
并将其传递给查询方法,因为xmldata.query(@xpath)
我得到错误
我猜 varchar(100) 不正确,但是我可以使用什么数据类型来让 MSSQL 开心呢?
更新:好的,所以。显然,您不能“像那样”将参数传递给查询方法,但是可以将 sql:variable 与 local-name 结合使用来解决其中的一部分问题。因此,例如,这将起作用
并在 xmldata 列中选择值。但是(!)它要求根节点是查询函数中的第一个值。以下将不起作用
注意查询路径是如何“上移”到变量的。我会继续我的调查..
c# - 以编程方式创建 SQL 参数
另一个对我来说很烦人的,但可能很简单。
我有许多可能的 where 子句用于基于用户输入的查询,我的问题是如何以编程方式添加这些子句?
例如:
我将如何为此做参数?我尝试了 ArrayLists、Dictionaries 和其他一些方法,但找不到这样做的方法。理想情况下,我想做这样的事情:
c# - 过程需要一个未提供的参数
在我的代码结束时,我正在调用一个存储过程,它根据我的页面传递的参数更新一个表。我收到以下错误:
过程或函数“Res_invpush_UpdateInv”需要未提供的参数“@InventoryPushSubscriptionId”。
即使我的参数值已成功传递——我知道这一点是因为我已经使用断点进行了测试,当我将鼠标悬停在提到的参数上时,它给出的值为 1,所以我不知道为什么消息仍然出现。
有人可以告诉我我到底在哪里出错或如何解决它?
c# - SqlCommand 参数为字符串
我有一个需要创建的应用程序,给定一些 CSV 形式的用户输入,需要将此 CSV 解析并生成多种格式。其中一种格式是针对 CSV 的每一行的一系列 SQL INSERT 语句(作为字符串)。
(此时您可以假设我已经将 CSV 解析为值列表或其他内容,所以这不是问题的重点)
鉴于此输入可能包含漏洞,我希望生成经过验证和清理的 INSERT 语句。
我熟悉创建一个 SqlCommand 对象并向其参数列表添加值,但是查看一个类似的问题,它似乎并没有按我希望的方式工作。
那么有没有办法以我需要的方式生成经过清理的 SQL 语句作为字符串?
编辑:这是我想做的一个例子。
CSV:
SQL:
由于 CSV 中没有给出数据类型,因此应用程序也必须确定这一点。
c# - 来自 OleDbCommand 的返回值
有人告诉我这是如何使用参数从 SELECT 查询中读取数据,但它不起作用。我想我做错了什么。
我正在使用 WinForms 和 Microsoft Access 2007
asp.net - 如何检查sqlParameter是否为空?
我有一个类,它有许多“New()”函数,可以用各种参数启动它。我想创建一个 New() 函数,它将在没有参数的情况下初始化该类。问题是有一个“fillData”函数为类填充数据,并接受存储过程来完成工作,但有一个存储过程参数。我不想创建新的 fillData 函数,但想使用 fillData 函数而不需要额外的存储过程。我的解决方法是将一个空的 SqlParameter var 传递给 fillData 函数,但无论我做什么,当我检查 params 参数是否为空时,它似乎总是认为那里有东西。
我想检查这个“params”参数是否为空:
...
我将如何修改它以便我可以继续使用 fillData 函数,而不向它传递 SqlParameter 参数?
谢谢!
c# - 参数化查询被截断,参数丢失
我有一段代码:
我收到:参数化查询 '(@OwnerUserID int,@BuddyUserID int,@TS datetime,@GiftID int,@Gif' 需要参数 '@GiftStatus',但未提供该参数。
注意: '(@OwnerUserID int,@BuddyUserID int,@TS datetime,@GiftID int,@Gif' 被截断,正好是 64 个符号......它只是以未完成的参数名称 'Gif' 结尾(例外是也关于这个参数)。
为什么它看不到我的参数?
UPD:如果我以这种方式重新添加最后一个参数(@GiftStatus): command.Parameters.AddWithValue("@GiftStatus", (byte)GiftStatusEnum.wait);
这样事情就开始起作用了。但我就是不知道 .Add(new SqlParamter()); 有什么问题。
asp.net - VB.Net IIf函数中添加SqlParameter
我正在重写这个长 INSERT 语句和参数,它看起来像这样:
General.fnSQLNullValues 是这样的:
我根本不喜欢这个,而且似乎需要很多代码才能做到这一点,
据我了解,如果 tWebsite.Text 为 null 或不被接受,那一行代码 DBNull.Value 将替换 tWebsite.Text 作为值,在我看来,它与一般的其他函数做同样的事情。这是正确的吗?一种方法比另一种更好吗?
另外,我从第二种方式收到警告:“无法推断通用类型;假定对象”,但在我看来,第一种方式无论如何都是使用通用对象,所以我不知道我是否应该忽略这个警告
c# - 过程或函数“AddUpdateContactDetails”需要参数“@Id”,但未提供该参数
我有我的方法
Sp低于
但仍然出现“过程或函数'AddUpdateContactDetails'需要参数'@Id'的异常,该参数未提供。”