C# 具有常量参数值的OleDB Insert命令

C# 具有常量参数值的OleDB Insert命令,c#,insert,command,oledb,constants,C#,Insert,Command,Oledb,Constants,我正在尝试创建一个insert命令来更新Access数据库。我的连接和所有其他更新、插入、删除等命令都工作正常,但我无法让这个命令工作 我不想创建具有3个值的insert命令。其中两个来自数据表,第三个是常量(在数据表中不可用)。我试过类似的东西 strOLE = "INSERT INTO MSP_ASSIGNMENTS (TASK_UID, ASSN_UNITS, RES_UID) Values(@Task, @Units, @Res);"; OleDbCommand cmdi

我正在尝试创建一个insert命令来更新Access数据库。我的连接和所有其他更新、插入、删除等命令都工作正常,但我无法让这个命令工作

我不想创建具有3个值的insert命令。其中两个来自数据表,第三个是常量(在数据表中不可用)。我试过类似的东西

strOLE = "INSERT INTO MSP_ASSIGNMENTS (TASK_UID, ASSN_UNITS, RES_UID) Values(@Task, @Units, @Res);";
        OleDbCommand cmdia = new OleDbCommand(strOLE, con_);
        OleDbParameterCollection colia = cmdia.Parameters;
        OleDbParameter paramtia;

        paramtia = colia.Add("@Task", OleDbType.Integer, 4, "TASK_UID");
        paramtia = colia.Add("@Units", OleDbType.Integer, 4, "ASSN_UNITS");
        paramtia = colia.Add("@Res", OleDbType.Integer, 4).Value = 32;
        paramtia.SourceVersion = DataRowVersion.Original;

        da_.InsertCommand = cmdia;

        da_.Update(ds.Tables["Assignments"]);
RES_UID(@RES)应该是一个常量(32)。其他值从表中选取

有人能给我指出正确的方向,帮我完成这项工作吗?
谢谢

那么实际发生了什么?你还没有说你得到了什么结果……既然Res_UID是一个常量,为什么你不能把这个值放在查询本身呢?示例:将值(@TASK,@UNITS,32)插入MSP_分配(TASK_UID,ASSN_UNITS,RES_UID);我已经试过了。查询运行时没有错误,但在更新例程之后,它会跳转到
受保护的覆盖void Dispose(bool disposing)
方法并退出程序。上面的代码片段甚至不会运行。它给我一个转换错误(无法将类型“object”隐式转换为“System.Data.OleDb.oledbParameter”。存在显式转换(是否缺少转换?)