18 個のテキスト ボックスの配列があります。どのテキスト ボックスが空であるかを指定しDBNull
て、パラメーターをデータベース アクセス レイヤーに渡すにはどうすればよいですか? Ms AccessでOleDbを使用しています
質問する
130 次
1 に答える
0
これは、長さゼロの文字列とは異なる NULL のラウンドトリップを可能にする 1 つのソリューションです。
// <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;
}
}
}
}
于 2012-12-07T19:57:52.310 に答える