简体   繁体   English

Access查询中的数据类型不匹配异常

[英]Data type mismatch exception in Access query

I have the following code: 我有以下代码:

 public void GetParameterSelectionSet(int wire, int bond, string processProgramPath)
    {

        string connectionString = "Provider=Microsoft.JET.OLEDB.4.0;" + "data source=" + processProgramPath + ";";
        using (OleDbConnection connection = new OleDbConnection(connectionString))
        {
            connection.Open();
            using (OleDbCommand command = new OleDbCommand("SELECT * " +
                                                        "FROM BONDS INNER JOIN WIRES on " +
                                                        "BONDS.WireID = WIRES.WireID " +
                                                        "WHERE (WIRES.OperationOrder =  '@WireOrder') AND" +
                                                        "(BONDS.OperationOrder = '@BondOrder')", connection))
            {
                command.Parameters.Add(new OleDbParameter("@WireOrder", OleDbType.Numeric));
                command.Parameters.Add(new OleDbParameter("@BondOrder", OleDbType.Numeric));
                command.Parameters["@WireOrder"].Value = wire;
                command.Parameters["@BondOrder"].Value = bond;


                var mytemp = command.ExecuteScalar();
            }
        }

    }

When I execute this query i get a "Data Type mismatch in criteria expression". 当我执行此查询时,出现“条件表达式中的数据类型不匹配”。

Both WIRES.OperationOrder and BONDS.OperationOrder are of type Numeric. WIRES.OperationOrder和BONDS.OperationOrder均为Numeric类型。 So I am lost as to why this is failing. 所以我迷失了为什么失败了。

Thanks in advance! 提前致谢!

您在SELECT语句中的数字参数前后加上了引号,这是不正确的。

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

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