Sql查询没有返回所有结果

时间:2018-02-14 00:10:15

标签: c# sql oledbconnection oledbcommand

我正在使用OLEDB命令在.mdb文件上运行基本查询,如下所示:

    List<TPRItem> itemList = new List<TPRItem>();
    string connStr = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dirPath;
    string sql = "SELECT UPC, ItemDesc, TPRAllow, NetCost, UnitCost, Pack, TPREndDate FROM OrderGuide WHERE TPRAllow > 0";

    using (OleDbConnection conn = new OleDbConnection(connStr))
    {
        OleDbCommand cmd = new OleDbCommand(sql, conn);
        try
        {
            conn.Open();
            using (OleDbDataReader rdr = cmd.ExecuteReader())
            {
                while (rdr.Read())
                {
                        TPRItem thisTPRItem = new TPRItem();
                        thisTPRItem.UPC = rdr["UPC"].ToString();
                        thisTPRItem.VendorDescription = rdr["ItemDesc"].ToString();
                        thisTPRItem.CaseAllowance = decimal.Parse(rdr["TPRAllow"].ToString());
                        thisTPRItem.CaseCost = decimal.Parse(rdr["NetCost"].ToString());
                        thisTPRItem.UnitCost = decimal.Parse(rdr["UnitCost"].ToString());
                        thisTPRItem.CsPack = int.Parse(rdr["Pack"].ToString());
                        thisTPRItem.EndDate = DateTime.Parse(rdr["TPREndDate"].ToString());
                        thisTPRItem.CaseAllowanceCost = thisTPRItem.CaseCost - thisTPRItem.CaseAllowance;
                        thisTPRItem.UnitAllowanceCost = thisTPRItem.CaseAllowanceCost / thisTPRItem.CsPack;
                        itemList.Add(thisTPRItem);
                }
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
    }

我的列表中只添加了2365项。但是当我在Access中运行这个完全相同的查询时,我得到10867个结果。

我正在访问一个月份变化的.mdb文件(数据不会改变格式)以前我们没有丢失项目的问题。

1 个答案:

答案 0 :(得分:0)

将您的提供商更改为更高版本。

相关问题