【问题标题】:Select with oledb用 oledb 选择
【发布时间】:2013-09-10 10:54:47
【问题描述】:

我无法选择... 我无法在日期中进行选择 recebe uma variavel que determina quantidade de meses a ser calculada MesesDemanda 计算前后一个日期

for (int i = 1; i <= MesesDemanda; i++)
            {
                int cont = 0;
                DateTime dataposterior = DateTime.Now, dataanterior = DateTime.Now;
                dataanterior = dataanterior.AddMonths(i);
                dataposterior = dataposterior.AddMonths(-(i - 1));
                con.Open();
                cmd = new OleDbCommand("SELECT HistSaida.dataHistSaida, HistSaida.idProdutoHistSaida, HistSaida.qtdHistSaida FROM HistSaida WHERE (((HistSaida.dataHistSaida) BETWEEN #" + dataanterior + "# AND #" + dataposterior + "#) AND idProdutoHistSaida = " + idProduto + ")", con);
                dr = cmd.ExecuteReader();
                if (dr.HasRows)
                {
                    while (dr.Read())
                    {
                        Demanda = Demanda + Convert.ToInt32(dr["qtdHistSaida"]);
                        cont = 1;
                    }
                }
                dr.Close();
                con.Close();
                Valordivisao = Valordivisao + cont;
            }

【问题讨论】:

    标签: c# for-loop oledb


    【解决方案1】:

    使用如下参数

    cmd = new OleDbCommand("SELECT dataHistSaida, idProdutoHistSaida, qtdHistSaida FROM HistSaida WHERE ((dataHistSaida <=?  AND dataHistSaida >= ?) AND idProdutoHistSaida = ?)", con);
    

    现在您可以设置如下值

    cmd.Parameters.AddWithValue("@p1", dataanterior );
    cmd.Parameters.AddWithValue("@p2", dataposterior );
    cmd.Parameters.AddWithValue("@p3", idProduto );
    

    如果您需要取qtdHistSaida 列的总和,那么您可以更改sql语句如下

    SELECT SUM(qtdHistSaida) FROM HistSaida WHERE ((dataHistSaida <=?  AND dataHistSaida >= ?) AND idProdutoHistSaida = ?)
    

    现在您可以使用ExecuteScalar 方法获取总和值如下

    var result  = cmd.ExecuteScalar();
    

    【讨论】:

    • 条件表达式中的数据类型不匹配
    • 还有更多变数?
    • 我需要更多帮助,我无法选择
    • 在数据库中,您为 dataHistSaida 和 idProdutoHistSaida 列提供的数据类型是什么
    • dataHistSaida 是日期,idProdutoHistSaida 是整数
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多