【发布时间】:2013-12-19 12:06:03
【问题描述】:
我有一个使用存储过程填充网格的方法。 SP 从数据库表中获取数据,但其中一列将日期显示为“01/01/1754 00:00:00”。我希望这个值在网格上显示为 NULL。
我该怎么做?
这是我调用 SP 的代码,我需要某种 IF 语句吗?
public static DataTable getUserList()
{
SqlConnection con = getConnection();
SqlCommand cmd = new SqlCommand("PrepaidUserList", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandTimeout = Convert.ToInt32(ConfigurationManager.AppSettings["SqlTimeout"]);
cmd.Parameters.AddWithValue("@ApplicationName", Membership.ApplicationName);
DataSet ds = new DataSet();
SqlDataAdapter dad = new SqlDataAdapter(cmd);
try
{
con.Open();
dad.Fill(ds);
}
finally
{
con.Close();
}
return ds.Tables[0];
}
谢谢
【问题讨论】:
-
在不否认您有充分的理由使用最小日期的情况下,您是否考虑过重构事物以正确使用 NULL,而不是首先插入错误的误导性数据?
-
我无法更改数据库表,因为它可能会影响应用程序的其他部分。我只是在进行更改,以便更易于阅读...
标签: c# sql sql-server stored-procedures datagrid