gpt4 book ai didi

c# - Dapper 和 Access 返回空白值

转载 作者:行者123 更新时间:2023-11-30 23:06:42 25 4
gpt4 key购买 nike

我正在尝试使用 dapper 从 Access 数据库中提取数据。我定义了以下类来使用我需要读取的 Access 数据库中的字段。然后我尝试使用下面的代码提取数据。当我运行它时,只会返回空白。空白的数量与数据表中的记录数量相匹配。

我尝试使用较短的 sql 字符串得到相同的结果。

我找不到关于这个问题的任何信息,有没有人对此有任何想法?

public class DLabResults
{
public int ResultsFolderNumber { get; set; }
public int Request { get; set; }
public int Release { get; set; }
public string Formulation { get; set; }
public string Container { get; set; }
public string Closure { get; set; }
public string Shipper { get; set; }
// public string Label_Back { get; set; }
// public string Label_Front { get; set; }
public string FilePath { get; set; }
}

public void LoadDapperDLabResults(List<DLabResults> items)
{
string sql = "";
//sql = "SELECT tblResults_Results.R_Project_Assignment, tblResults_Results.R_Project_Request, tblResults_Results.R_Project_Release, tblResults_Results.R_Formulation, tblResults_Results.R_Closure, tblResults_Results.R_Container, tblResults_Results.R_Shipper, '' AS Blank1, '' AS Blank2, tblResults_Results.R_Test_FullPath FROM tblResults_Results WHERE(((tblResults_Results.R_Formulation)Like '*' & [Formulation] & '*') AND ((tblResults_Results.R_Closure)Like '*' & [Closure] & '*') AND((tblResults_Results.R_Container)Like '*' & [Container] & '*') AND((tblResults_Results.R_Shipper)Like '*' & [Shipper] & '*')) ORDER BY tblResults_Results.R_Project_Assignment, tblResults_Results.R_Project_Request, tblResults_Results.R_Project_Release;";
sql = "SELECT * FROM tblResults_Results";
using (OleDbConnection connection = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Users\\DavidsoJ\\Desktop\\Fixed Push Workbooks\\Redesigned Databases\\Development Lab Results Database.accdb"))
{
//var TM2 = connection.Query<DLabResults>(sql).ToList();
List<DLabResults> TM2 = connection.Query<DLabResults>(sql).ToList();
//add items to employess
if (items == null || items.Count < 1)
{
}
else
{
TM2.AddRange(items);
}
dataGridView1.DataSource = TM2;
}
}

最佳答案

SQL 查询中的列名称似乎与所需对象模型 DLabResults 的属性不匹配。

更新从查询返回的列名以匹配对象

SELECT tblResults_Results.R_Project_Request AS Request
/*, ... code removed for brevity */
FROM tblResults_Results

或更新 DLabResults 属性名称以匹配从查询返回的列名称

public class DLabResults {

public int R_Project_Request{ get; set; }

//... code removed for brevity
}

无论哪种方式,当使用 dapper 时,列名称需要映射到对象成员,以便 dapper 填充它们。

关于c# - Dapper 和 Access 返回空白值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47954200/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com