如何确保将空文本框文本作为 DBNull 输入到数据库中?
Posted
技术标签:
【中文标题】如何确保将空文本框文本作为 DBNull 输入到数据库中?【英文标题】:How can I make sure empty textboxes text are entered into the db as DBNull? 【发布时间】:2012-11-24 19:31:00 【问题描述】:我有一个包含 18 个文本框的数组,如何指定哪个文本框为空,以便我可以通过 DBNull
将参数传递给我的数据库访问层?我正在使用带有 Ms Access 的 OleDb
【问题讨论】:
【参考方案1】:这是一种允许从零长度字符串往返 NULL 的解决方案。
// <custom:NullableTextBox runat="server" id="Field1" />
// In code behind bind & unbind using Field1.NullableValue instead of Field1.Text
// In web config, update pages/controls as such with MyApp replaced with the
// assembly name of your app
// <pages>
// <controls>
// <add tagPrefix="custom" namespace="Custom" assembly="MyApp"/>
// </controls>
// </pages>
public class NullableTextBox :TextBox
public object NullableValue
set
ViewState["IsDbNull"] = DBNull.Value==value;
Text = value.ToString();
get
bool isNull = false;
if (ViewState["IsDbNull"] != null)
isNull = Convert.ToBoolean(ViewState["IsDbNull"]);
if (isNull
&& string.IsNullOrEmpty(Text.Trim()))
return DBNull.Value;
else
return Text;
【讨论】:
以上是关于如何确保将空文本框文本作为 DBNull 输入到数据库中?的主要内容,如果未能解决你的问题,请参考以下文章