如何解决c#对象必须实现不可逆转的错误

本文关键字:实现 不可逆转 错误 对象 何解决 解决 | 更新日期: 2023-09-27 18:13:47

我想过滤记录SQL数据库的时间在c#与文本框,但我得到了"对象必须实现不可转换",我不知道为什么有人能帮我解决这个错误吗?

cmd.Parameters.Add(new SqlParameter("@Date1", SqlDbType.DateTime)).Value = txtstartingdate;
cmd.Parameters.Add(new SqlParameter("@Date2", SqlDbType.DateTime)).Value = txtendingdate;
using (SqlDataReader dr = cmd.ExecuteReader())
{
        DataTable dt = new DataTable();
        dt.Load(dr);
        gdvRfids.DataSource = dt;
}

如何解决c#对象必须实现不可逆转的错误

尝试将txtstartingdatetxtendingdate转换为DateTime值;

如果您对SQL服务器将文本转换为日期时间感到满意,那么只做

cmd.Parameters.AddWithValue("@Date1", txtstartingdate);
cmd.Parameters.AddWithValue("@Date2",  txtendingdate);
using (SqlDataReader dr = cmd.ExecuteReader())
{
    DataTable dt = new DataTable();
    dt.Load(dr);
    gdvRfids.DataSource = dt;
}    

我想我看到问题了。我假设txtstartingdatestring。我打赌它是TextBox或其他控件。如果TextBox只是.Text的属性。
cmd.Parameters.AddWithValue("@Date1", txtstartingdate.Text);
cmd.Parameters.AddWithValue("@Date2",  txtendingdate.Text);
using (SqlDataReader dr = cmd.ExecuteReader())
{
    DataTable dt = new DataTable();
    dt.Load(dr);
    gdvRfids.DataSource = dt;
}