ASP.Net 文本框控件在为空时不返回 NULL
关于我刚刚问的这个问题 - SQL - 选择全部过滤器值为空 —— 似乎由于某种原因,空的 TextBox
的值没有像它应该的那样作为 NULL 提供给 SQL Server。
关于如何解决这个问题有什么想法吗?
In reference to this question that I just asked -- SQL - Select all when filter value is empty -- it appears that for some reason, an empty TextBox
's value is not being fed to SQL Server as NULL, as it ought to be.
Any ideas on how to fix this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
只是为了启发您:)
这是来自反射器:
just to enlighten you :)
this is from reflector:
无需任何 C# 即可完成此操作。
只需将参数 ConvertEmptyStringToNull 属性设置为 true,例如:
You can do this without any C#.
Simply set the parameters ConvertEmptyStringToNull property to true, eg:
“”“财产价值
类型:System.String
TextBox 控件中显示的文本。默认值是空字符串 ("")。"""
Aaronaught 是正确的。Null
是一个使用非常宽松的术语,不应该如此,并且很容易与“Nothing”混淆,“Nothing”在编程中使用要好得多。 textbox.text 值永远不会为 null,它会是“”。没有任何内容表明您是否已初始化字符串变量,所以
在引用是否为字符串时,使用 string.empty 或“”是一个很好的经验法则。包含任何字符
显然,您在 sqlcommand 中使用的参数必须为 null 或不是这样...
在 VB 中:
从她那里,您可以将 SP 或 Inline SqlCommand 中的默认参数值设置为 Null,因此当它收到 Is 的参数时什么也没有,它会将存储过程中的参数恢复为 = Null
(如果您将 textbox.text 值直接发送到 SP 参数):
"""Property Value
Type: System.String
The text displayed in the TextBox control. The default is an empty string ("")."""
Aaronaught is correct.
Null is a very loosely used term and shouldn't be, and can easily be confused with 'Nothing' which is far better to use in programming. A textbox.text value will never be null, it will be "". Nothing refers to whether you have initialized the string variable or not. sooooo
It's a general good rule of thumb to use string.empty or "" when referring to whether a string contains any characters
Obviously the Paramater you use in ur sqlcommand needs to be null or not so...
In VB:
From her you can set the default paramater value in SP or Inline SqlCommand to be Null, so when it recieves a paramter that Is Nothing, it reverts the paramater to = Null
In Stored Procedure (if you're sending the textbox.text value directly to a SP Paramater):
将 ASP 代码中的默认参数值设置为
null
。Set the default parameter value in the ASP code to
null
.空文本框将包含
string.Empty
,而不是null
。来自 TextBox.Text 文档:
如果您想确保它以
null
的形式进入数据库,请在以下方式中将其转换:An empty text box will contain
string.Empty
, notnull
.From the TextBox.Text documentation:
If you want to make sure it goes to the database as
null
, then convert it on the way in: