首页 > 解决方案 > 尝试将数据按日期过滤到 DataGridView 时出现无效的强制转换异常

问题描述

我希望用户能够从 datetimepicker 中选择一个日期,并能够在数据网格上查看该选定日期的条目。

这是我目前正在使用的代码:

private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
    {
        //filter date wise using datetimepicker. dateadded is a column in mysql db workbench.

        mcon.Open();

        MySqlCommand cmd = mcon.CreateCommand();
        cmd.CommandType = CommandType.Text;  
        cmd.CommandText= "Select * from inventory_base.products where dateadded=  @dateselected";

        cmd.Parameters.AddWithValue("@dateselected", SqlDbType.DateTime);
        cmd.Parameters["@dateSelected"].Value = dateTimePicker1.Value; 

        DataTable dt = new DataTable();
        MySqlDataAdapter da = new MySqlDataAdapter(cmd);
        da.Fill(dt);
        dataGridView1.DataSource = dt;

            cmd.ExecuteNonQuery();
            mcon.Close();  

    }

当我运行此代码时,我收到一条错误消息,内容如下:

System.InvalidCastException:'从'DateTime'到'Int32'的无效转换。' 在 da.Fill(dt) 线上。

标签: c#mysqldatagridviewdatetimepicker

解决方案


推荐阅读