C# 和 ms 数据库 - 条件表达式中的数据类型不匹配

安德烈·塔斯卡

我正在构建一个应用程序,当我按下按钮时,操作需要保存在 Microsoft Access 数据库中,但是当我按下按钮时,我从代码的下一部分收到错误“条件表达式中的数据类型不匹配”

        string dbconnection = "Provider=Microsoft.ACE.OLEDB.12.0;" + @"data source =ElevatorLog.accdb";
        string dbcommand = "insert into [Elevator] ([MovingAction],[TimeAction]) values (@movingaction, @timeaction)";
        string timeaction = DateTime.Now.ToShortDateString();


        listBox1.Items.Add(movingaction + "\t\t" + timeaction + "\t\t");

        OleDbConnection conn_db = new OleDbConnection(dbconnection);
        OleDbCommand comm_insert = new OleDbCommand(dbcommand, conn_db);
        OleDbDataAdapter adapter_insert = new OleDbDataAdapter(comm_insert);
        comm_insert.Parameters.AddWithValue("@timeaction", timeaction);
        comm_insert.Parameters.AddWithValue("@movingaction", movingaction);

        conn_db.Open();

        comm_insert.ExecuteNonQuery();

        conn_db.Close();
切廷·巴索

我不知道你的数据类型是什么,但部分是从代码中猜测的:

string dbconnection = "Provider=Microsoft.ACE.OLEDB.12.0;" + @"data source =ElevatorLog.accdb";
string dbcommand = @"insert into [Elevator] 
       ([MovingAction],[TimeAction]) 
       values 
       (@movingaction, @timeaction)";


//?        listBox1.Items.Add(movingaction + "\t\t" + timeaction + "\t\t");

using (OleDbConnection conn_db = new OleDbConnection(dbconnection))
using (OleDbCommand comm_insert = new OleDbCommand(dbcommand, conn_db))
{
   comm_insert.Parameters.Add("@movingaction", OleDbType.DBDate).Value = movingaction; // not sure if this is DateTime
   comm_insert.Parameters.Add("@timeaction", OleDbType.DBDate).Value = DateTime.Now;

  conn_db.Open();
  comm_insert.ExecuteNonQuery();
  conn_db.Close();
}

PS:只是一个建议,选择一个更好的数据库,如 postgreSQL、MS SQL、MySQL、SQLite ...

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

条件表达式 ms-access c# 中的数据类型不匹配

ASP C#更新访问数据库中的条件表达式中的数据类型不匹配

MS-Access SQL中的“条件表达式中的数据类型不匹配”

解决“条件表达式中的数据类型不匹配”。在MS Access Insert.Into期间

条件表达式Excel C#中的数据类型不匹配

如何解决MS Access 2010中的“条件表达式中的数据类型不匹配”错误?

将记录从C#保存到Access时“条件表达式中的数据类型不匹配”

LabVIEW数据库查询中“条件表达式中的数据类型不匹配”

在 MS Access 中保存来自 VB.Net Windows 窗体的数据,出现错误 System.Data.OleDb.OleDbException:“条件表达式中的数据类型不匹配。”

查询访问数据库时条件表达式中的数据类型不匹配

“条件表达式中的数据类型不匹配。” ms access中的错误,我做了建议的所有故障排除

C#和MS Access之间的数据类型不匹配?

“条件表达式中的数据类型不匹配”

使用c#和ms-access和数据集时的Crystal Report数据库登录提示

MS Access数据库和MySql之间同步

c#从ms sql数据库创建.bacpac文件

vb.net中条件表达式中的数据类型不匹配

如何使用C#和SQL将日期添加到列类型为“日期/类型”的MS Access数据库中?

在条件表达式中获取错误3464数据类型不匹配

条件表达式中的数据类型与REPLACE不匹配,无法替换

OleDb.OleDbException 条件表达式中的数据类型不匹配

选择查询中出现错误:条件表达式中的数据类型不匹配

Access查询后“条件表达式中的数据类型不匹配”

System.Data.OleDb.OleDbException:'条件表达式中的数据类型不匹配。'

条件表达式中的数据类型不匹配(vb.net,访问权限)

条件表达式异常中的数据类型不匹配

条件表达式中的数据类型不匹配vb2010“编辑”按钮

OLEDB总和错误:条件表达式中的数据类型不匹配。VB.NET

运行时错误“ 3464”:条件表达式中的数据类型不匹配