我有一个TextBox(名称:TB_Test) 如果我不输入任何字符串.... 在SQL DB" test"字段将得到" NULL" 我该怎么做,"测试"字段更改空白字符串,而不是" NULL" 谢谢
来自台湾的Michael Wu代码:
SqlDataSource SqlDataSource1 = new SqlDataSource();
SqlDataSource1.UpdateParameters.Clear();
SqlDataSource1.UpdateParameters.Add("test",String.IsNullOrEmpty(TB_Test.Text.ToString()) ? "": TB_Test.Text.ToString());
SqlDataSource1.Update();
答案 0 :(得分:1)
为列添加默认值。
ALTER TABLE TableName ADD CONSTRAINT DF_SomeName DEFAULT N'' FOR test;
答案 1 :(得分:0)
尝试String.Empty
,如下所示。
String.IsNullOrEmpty(TB_Test.Text.ToString()) ? String.Empty : TB_Test.Text.ToString()
答案 2 :(得分:0)
按照@Amit Kumar的建议更改数据库,或使用Add(Parameter)
的{{1}}重载。像这样:
ParameterCollection
重要的部分是var parameter = new Parameter("test")
{
DefaultValue = String.IsNullOrEmpty(TB_Test.Text.ToString())
? "" : TB_Test.Text.ToString()),
ConvertEmptyStringToNull = false
};
SqlDataSource1.UpdateParameters.Add(parameter);
类的ConvertEmptyStringToNull
属性,默认为true。