Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#访问OleDB分别添加时间和日期_C#_Ms Access_Oledb - Fatal编程技术网

C#访问OleDB分别添加时间和日期

C#访问OleDB分别添加时间和日期,c#,ms-access,oledb,C#,Ms Access,Oledb,我用C#编写了一个程序来替换VB6中的旧程序,我不得不使用这个旧数据库,无法更改它 红色表示日期,蓝色表示时间 但我不知道如何在C#中做到这一点,我只有约会时间 我如何添加它 我的代码: public void GetExternalTestObjectList(DateTime DateTest,DateTime TimeTest, string NuTest,string Typebat,string TxtNuSidra,int NuTestBat,string

我用C#编写了一个程序来替换VB6中的旧程序,我不得不使用这个旧数据库,无法更改它 红色表示日期,蓝色表示时间 但我不知道如何在C#中做到这一点,我只有约会时间

我如何添加它

我的代码:

public void GetExternalTestObjectList(DateTime DateTest,DateTime TimeTest,
            string NuTest,string Typebat,string TxtNuSidra,int NuTestBat,string NuCod,
            int numtest,double OCV,string FaultOCV,double CCV,string FaultCCV,double dccvocv,
            string Name,int focvn, int fccvn, int nchek, int fotd, double eqfolt,
            string tc, string cc, string oclc, string ochc, string cclc, string cchc,
            double dccvocvsc, string dccvocvn, double dccvocvnN, double dccvocvscl)
        {
            try
            {
                using (OleDbConnection openCon = new OleDbConnection(localConnectionString))
                {

                    string query = "INSERT into [data] ([Date Test], [Time Test]," +
                        "[Nu' Test],[Type bat],[TxtNuSidra],[Nu' Test bat],[Nu' Cod]," +
                        "[numtest],[OCV],[Fault OCV],[CCV],[Fault CCV],[dccvocv],[Name]," +
                        "[focvn],[fccvn],[nchek],[fotd],[eqfolt],[tc],[cc],[oclc],[ochc]," +
                        "[cclc],[cchc],[dccvocvsc],[dccvocvn],[dccvocvnN],[dccvocvscl]) " +
                        "VALUES (@DateTest, @TimeTest, @NuTest, @Typebat, @TxtNuSidra," +
                        "@NuTestBat, @NuCod,@numtest, @OCV, @FaultOCV, @CCV, @FaultCCV, @dccvocv, " +
                        "@Name,@focvn, @fccvn, @nchek, @fotd, @eqfolt, @tc, @cc, @oclc, @ochc, @cclc," +
                        "@cchc, @dccvocvsc, @dccvocvn, @dccvocvnN, @dccvocvscl)";
                    using (OleDbCommand command = new OleDbCommand(query))
                    {
                        command.Parameters.AddWithValue("@DateTest", DateTest);
                        command.Parameters.AddWithValue("@TimeTest", TimeTest);
                        command.Parameters.AddWithValue("@NuTest", NuTest);
                        command.Parameters.AddWithValue("@Typebat", Typebat);
                        command.Parameters.AddWithValue("@TxtNuSidra", TxtNuSidra);
                        command.Parameters.AddWithValue("@NuTestBat", NuTestBat);
                        command.Parameters.AddWithValue("@NuCod", NuCod);
                        command.Parameters.AddWithValue("@numtest", numtest);
                        command.Parameters.AddWithValue("@OCV", OCV);
                        command.Parameters.AddWithValue("@FaultOCV", FaultOCV);
                        command.Parameters.AddWithValue("@CCV", CCV);
                        command.Parameters.AddWithValue("@FaultCCV", FaultCCV);
                        command.Parameters.AddWithValue("@dccvocv", dccvocv);
                        command.Parameters.AddWithValue("@Name", Name);
                        command.Parameters.AddWithValue("@focvn", focvn);
                        command.Parameters.AddWithValue("@fccvn", fccvn);
                        command.Parameters.AddWithValue("@nchek", nchek);
                        command.Parameters.AddWithValue("@fotd", fotd);
                        command.Parameters.AddWithValue("@eqfolt", eqfolt);
                        command.Parameters.AddWithValue("@tc", tc);
                        command.Parameters.AddWithValue("@cc", cc);
                        command.Parameters.AddWithValue("@oclc", oclc);
                        command.Parameters.AddWithValue("@ochc", ochc);
                        command.Parameters.AddWithValue("@cclc", cclc);
                        command.Parameters.AddWithValue("@cchc", cchc);
                        command.Parameters.AddWithValue("@dccvocvsc", dccvocvsc);
                        command.Parameters.AddWithValue("@dccvocvn", dccvocvn);
                        command.Parameters.AddWithValue("@dccvocvnN", dccvocvnN);
                        command.Parameters.AddWithValue("@dccvocvscl", dccvocvscl);


                        command.Connection = openCon;
                        openCon.Open();
                        int recordsAffected = command.ExecuteNonQuery();
                        openCon.Close();
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
我得到了下一个错误:

System.Data.OleDb.OleDbException: 'Data type mismatch in criteria expression.'
我的桌子是这样的:


您可以简单地使用DateTime对象的Date属性来获取时间设置为零的DateTime部分,使用TimeOfDay属性来获取DateTime对象的时间部分作为TimeSpan

这应该有用