数据类型不匹配,在准则-EX pression错误时,从MS Access使用ADO.NET C#中删除 [英] data-type-mismatch-in-criteria-expression-error when delete from MS Access with ADO.NET C#

查看:271
本文介绍了数据类型不匹配,在准则-EX pression错误时,从MS Access使用ADO.NET C#中删除的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我写code的插入和删除与Microsoft Access数据库中的一些数据,我可以插入数据,但是当我删除它,我有的数据类型不匹配,在准则-EX pression错误我不知道为什么!任何一个能帮助我吗?

i write code that insert and delete some data with Microsoft Access database , i can insert the data but when i delete it i have an error "data-type-mismatch-in-criteria-expression" i don't know why !!! Any one help me ?

在此先感谢;

  private void Savebt_Click(object sender, EventArgs e)
{
    //try
    //{
    OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\me\Library Store\Library Store\Store.accdb");
     try
{
    conn.Open();

    OleDbCommand cmd = new OleDbCommand();
    cmd.Connection = conn;
    cmd.CommandText = "INSERT INTO Libarary ( ISBN, [Name], Gategory, Author, Cost, [Date]) " +
          "VALUES ( @ISBN, @Name, @Gategory, @Author, @Cost, @Date) ";
    cmd.Parameters.AddWithValue("@ISBN", ISBNTB.Text);
    cmd.Parameters.AddWithValue("@Name", NameTB.Text);
    cmd.Parameters.AddWithValue("@Gategory", GategoryTB.Text);
    cmd.Parameters.AddWithValue("@Author", AuthorTB.Text);
    cmd.Parameters.AddWithValue("@Cost", int.Parse(CostTB.Text));
    cmd.Parameters.AddWithValue("@Date", dateTimePicker1.Text);



    cmd.ExecuteNonQuery();

        MessageBox.Show("Book Added!");
        conn.Close();


}
catch (Exception ex)
{
    MessageBox.Show(ex.ToString());
}

}

private void sellbt_Click(object sender, EventArgs e)
{
     OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\me\Library Store\Library Store\Store.accdb");
     try
{
    conn.Open();

    OleDbCommand cmd = new OleDbCommand();
    cmd.Connection = conn;
    cmd.CommandText = " DELETE * FROM Libarary WHERE ISBN=@ISBN AND [Name]=@Name AND Gategory=@Gategory AND Author=@Author AND Cost=@Cost AND [Date]=@Date ";
    cmd.Parameters.AddWithValue("@ISBN", ISBNTB.Text);
    cmd.Parameters.AddWithValue("@Name", NameTB.Text);
    cmd.Parameters.AddWithValue("@Gategory", GategoryTB.Text);
    cmd.Parameters.AddWithValue("@Author", AuthorTB.Text);
    cmd.Parameters.AddWithValue("@Cost", CostTB.Text);
    cmd.Parameters.AddWithValue("@Date", dateTimePicker1.Text);

    cmd.ExecuteNonQuery();

        MessageBox.Show("Book removed to be sold!");
        conn.Close();


}
catch (Exception ex)
{
    MessageBox.Show(ex.ToString());
}

} Errow与我尝试删除记录

} Errow with the record which i try to delete

数据库记录

database records

推荐答案

怎么样了?

cmd.Parameters.AddWithValue("@Date", dateTimePicker1.Value.ToString("dd-MM-yyyy"));

这篇关于数据类型不匹配,在准则-EX pression错误时,从MS Access使用ADO.NET C#中删除的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆