将sql表中的null datetime插入datagridview silverlight

时间:2016-02-10 15:41:43

标签: c# silverlight datagridview

我有空值的问题,我想从sql表空(从datetime列)插入到datagridview,并且datagridview返回错误。

  

通信异常未被用户代码

处理

代码:

public class Pismo
{
    public int Id { get; set; }
    public string PW { get; set; }
    public DateTime? Data_Wysylki { get; set; }
}   

public ObservableCollection<Pismo> ReadPisma(int id_pismo)
{
    ObservableCollection<Pismo> result = new ObservableCollection<Pismo>();
    string nwConn = System.Configuration.ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString;
    SqlDataReader dr;
    SqlConnection conn = new SqlConnection(nwConn);
    try
    {
        SqlCommand cmd = new SqlCommand();
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Connection = conn;
        cmd.CommandText = "INSERT";
        cmd.Parameters.AddWithValue("@id", id);
        conn.Open();
        dr = cmd.ExecuteReader();
        while (dr.Read())
        {
            Pismo wiersz = new Pismo();
            wi.Id = dr.GetInt32(0);
            wi.PW = dr.GetString(1);
            wi.Data_Wysylki = dr.GetDateTime(2);
            result.Add(wi);
        }
        dr.Close();
        return result;
    }
    catch (SqlException e)
    {
        Pismo wi = new Pismo();
        wi.Id = e.Message;
        result.Add(wi);
        return result;
    }
    finally
    {
        conn.Close();

    };
}
<sdk:DataGridTextColumn Header="Data Wysyłki" Binding="{Binding Data_Wysylki, StringFormat='yyyy/MM/dd'}"/>

我尝试在下面添加

if (wi.Data_Wysylki.HasValue) wi.Data_Wysylki = dr.GetDateTime(16);  

之后该错误没有显示但在datagridview中所有列(即使有一些日期)都为null

0 个答案:

没有答案