C# 将数据表值另存为空字符串,而不是null
我正在使用SqlDataAdapter将一些值从表保存到数据库:C# 将数据表值另存为空字符串,而不是null,c#,.net,C#,.net,我正在使用SqlDataAdapter将一些值从表保存到数据库: private BindingSource bindingSource1 = new BindingSource(); private SqlDataAdapter dataAdapter = new SqlDataAdapter(); ... dataAdapter.Update((DataTable) bindingSource1.DataSource); 但它在数据库中将空值保存为null。是否有办法让它将它们保存为空字符
private BindingSource bindingSource1 = new BindingSource();
private SqlDataAdapter dataAdapter = new SqlDataAdapter();
...
dataAdapter.Update((DataTable) bindingSource1.DataSource);
但它在数据库中将空值保存为null。是否有办法让它将它们保存为空字符串 你有没有尝试过用
字符串填充有问题的字段。空的?经过一些研究,每个人似乎都在手动操作,所以我写了一个方法
public static DataTable RemoveNulls(DataTable dt)
{
for (int a = 0; a < dt.Rows.Count; a++)
{
for (int i = 0; i < dt.Columns.Count; i++)
{
if (dt.Rows[a][i] == DBNull.Value)
{
dt.Rows[a][i] = "";
}
}
}
return dt;
}
publicstaticdatatableremovenulls(datatabledt)
{
对于(int a=0;a
以及一些相关链接
您为什么要这样做?空字符串表示实际为列分配了某些内容,而NULL表示未分配。通过分配字符串,您破坏了基本的数据库操作(标准),并使数据不准确(您无法判断某个值是意外丢失还是故意清除)。除非您有实际的业务需要这样做(而且不只是懒得正确处理空值),否则这是一个坏主意,依我看。我正在维护一个现有的系统,需要这样做。所以在这件事上我没有太多选择。