【问题标题】:How can I make sure empty textboxes text are entered into the db as DBNull?如何确保将空文本框文本作为 DBNull 输入到数据库中?
【发布时间】:2012-11-24 19:31:00
【问题描述】:

我有一个包含 18 个文本框的数组,如何指定哪个文本框为空,以便我可以通过 DBNull 将参数传递给我的数据库访问层?我正在使用带有 Ms Access 的 OleDb

【问题讨论】:

    标签: ms-access parameters textbox oledb dbnull


    【解决方案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;
                }
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多