C# 如何在C中将空白文本框更新为SQL#

C# 如何在C中将空白文本框更新为SQL#,c#,sql,asp.net,C#,Sql,Asp.net,我有一个文本框(名称:TB_测试) 如果我没有输入任何字符串。。。。 在SQL DB中,“test”字段将获得“NULL” 如何才能将“测试”字段更改为空字符串,而不是“NULL” 多谢各位 来自台湾的迈克尔·吴 代码: SqlDataSource SqlDataSource1 = new SqlDataSource(); SqlDataSource1.UpdateParameters.Clear(); SqlDataSource1.UpdateParameters.Add("test",Str

我有一个文本框(名称:TB_测试) 如果我没有输入任何字符串。。。。 在SQL DB中,“test”字段将获得“NULL” 如何才能将“测试”字段更改为空字符串,而不是“NULL” 多谢各位

来自台湾的迈克尔·吴

代码:

SqlDataSource SqlDataSource1 = new SqlDataSource();
SqlDataSource1.UpdateParameters.Clear();
SqlDataSource1.UpdateParameters.Add("test",String.IsNullOrEmpty(TB_Test.Text.ToString()) ? "": TB_Test.Text.ToString());
SqlDataSource1.Update();

将默认值添加到列中

ALTER TABLE TableName ADD CONSTRAINT DF_SomeName DEFAULT N'' FOR test;

请尝试
String.Empty
,如下所示

String.IsNullOrEmpty(TB_Test.Text.ToString()) ? String.Empty : TB_Test.Text.ToString()

按照@Amit Kumar的建议更改数据库,或使用
参数集合的
添加(参数)
重载。大概是这样的:

var parameter = new Parameter("test")
{
  DefaultValue = String.IsNullOrEmpty(TB_Test.Text.ToString()) 
     ? "" : TB_Test.Text.ToString()),

  ConvertEmptyStringToNull = false
};
SqlDataSource1.UpdateParameters.Add(parameter);

重要的部分是
参数
类的
convertEmptyStringToFull
属性,该属性默认为true。

只需将
的“test”
替换为
“@test”
的Add
替换为
的Add
,其余代码就可以了。使用“String.Empty”代码,结果是相同的“NULL”虽然我可以将默认值设置为“blank”,但在更新后会再次变为NULL