简体   繁体   English

c# 插入数据库数据类型不匹配错误

[英]c# insert to database data type mismatch error

I want an application, it will remind me of what I wrote periodically.我想要一个应用程序,它会提醒我定期写的东西。

we add a specific day to the last day.我们在最后一天添加特定的一天。 like this:像这样:

first day (21.04.2020) + 1 day = first reminder (22.04.2020),第一天(21.04.2020) + 1 天 =第一个提醒(22.04.2020),
first reminder + 3 day = second reminder (25.04.2020)第一次提醒+ 3 天 =第二次提醒(25.04.2020)

I hope you understand, there is my period "1,3,7,30,90,180,90"我希望你明白,有我的时期“1,3,7,30,90,180,90”

my table我的桌子
在此处输入图像描述

here is error:这是错误:
System.Data.OleDb.OleDbException: 'Data type mismatch in criteria expression.' System.Data.OleDb.OleDbException:“标准表达式中的数据类型不匹配。”

my c# codes:我的 c# 代码:

con = new OleDbConnection(ConnectionParameter);
        cmd = new OleDbCommand();
        con.Open();
        cmd.Connection = con;
        cmd.CommandText = "Insert into remember (subject,dateone,datetwo,datethree,datefour,datefive,datesix,dateseven,dateeight) values (@subject,@one,@two,@three,@four,@five,@six,@seven,@eight)";

        cmd.Parameters.AddWithValue("@subject", Convert.ToString(richTextBox3.Text));
        cmd.Parameters.AddWithValue("@one", Convert.ToDateTime(dateTimePicker1.Value));
        DateTime date2 = dateTimePicker1.Value.AddDays(1); 
        cmd.Parameters.AddWithValue("@two", date2);
        DateTime date3 = date2.AddDays(3);
        cmd.Parameters.AddWithValue("@three", date3);
        DateTime date4 = date3.AddDays(7);
        cmd.Parameters.AddWithValue("@four", date4);
        DateTime date5 = date4.AddDays(30);
        cmd.Parameters.AddWithValue("@five", date5);
        DateTime date6 = date5.AddDays(90);
        cmd.Parameters.AddWithValue("@six", date6);
        DateTime date7 = date6.AddDays(180);
        cmd.Parameters.AddWithValue("@seven", date7);
        DateTime date8 = date7.AddDays(90);
        cmd.Parameters.AddWithValue("@eight", date8);

        cmd.ExecuteNonQuery();
        con.Close();

Okay i solved this problem, my last code block好的,我解决了这个问题,我的最后一个代码块

con = new OleDbConnection(ConnectionParameter);
            cmd = new OleDbCommand();
            con.Open();
            cmd.Connection = con;
            cmd.CommandText = "Insert into remember (subject,dateone,datetwo,datethree,datefour,datefive,datesix,dateseven,dateeight) values (@subject,@one,@two,@three,@four,@five,@six,@seven,@eight)";

            cmd.Parameters.AddWithValue("@subject", Convert.ToString(richTextBox3.Text));
            cmd.Parameters.AddWithValue("@one", dateTimePicker1.Value.Date);
            DateTime date2 = dateTimePicker1.Value.AddDays(1); 
            cmd.Parameters.AddWithValue("@two", date2.Date);
            DateTime date3 = date2.AddDays(3);
            cmd.Parameters.AddWithValue("@three", date3.Date);
            DateTime date4 = date3.AddDays(7);
            cmd.Parameters.AddWithValue("@four", date4.Date);
            DateTime date5 = date4.AddDays(30);
            cmd.Parameters.AddWithValue("@five", date5.Date);
            DateTime date6 = date5.AddDays(90);
            cmd.Parameters.AddWithValue("@six", date6.Date);
            DateTime date7 = date6.AddDays(180);
            cmd.Parameters.AddWithValue("@seven", date7.Date);
            DateTime date8 = date7.AddDays(90);
            cmd.Parameters.AddWithValue("@eight", date8.Date);

            cmd.ExecuteNonQuery();
            con.Close();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM