【发布时间】:2020-10-15 05:53:03
【问题描述】:
我用 C# 构建了一个程序来替换 VB6 中的旧程序,我必须使用这个旧数据库并且无法更改它 红色代表日期,蓝色代表时间 但我不知道如何在 C# 中做到这一点,我只有一个 DateTime
如何添加?
我的代码:
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.'
这就是我的桌子的样子:
【问题讨论】: