C# 错误 CS0029: 无法将类型 "void" 隐式转换为 "System.Collections.Generic.List<WindowsForms_JXKHSystem.Models.AppraisalBases>" 解決方案
此错误是因为您的返回类型是List<AppraisalBases>,但是您却返回了一个void类型的值。您应该返回一个List<AppraisalBases>类型的值。
在您的代码中,您执行了查询操作并从数据库中获得了数据,但是您没有将这些数据存储在一个List<AppraisalBases>中,而是直接返回了reader对象,这是错误的。
您需要创建一个List<AppraisalBases>对象,在循环中将查询结果添加到这个列表中,然后将列表作为返回值返回。
以下是修改后的代码示例:
csharp
public static List<AppraisalBases> ListAll()
{
 List<AppraisalBases> appraisalBasesList = new List<AppraisalBases>(); // 创建一个列表用于存储查询结果

 string server = "localhost";
 string database = "mydatabase";
 string username = "root";
 string password = "123456";
 SqlHelper sqlHelper = new SqlHelper(server, database, username, password);

 // 执行查询操作
 string querySql = "SELECT * FROM appraisalbases";
 MySqlDataReader reader = sqlHelper.ExecuteQuery(querySql);
 while (reader.Read())
 {
 // 处理查询结果
 int id = reader.GetInt32("Id");
 string baseType = reader.GetString("BaseType");
 int appraisalBase = reader.GetInt32("AppraisalBase");
 int isDel = reader.GetInt32("IsDel");

 // 创建一个AppraisalBases对象并将查询结果赋值给它
 AppraisalBases appraisalBases = new AppraisalBases()
 {
 Id = id,
 BaseType = baseType,
 AppraisalBase = appraisalBase,
 IsDel = isDel
 };

 // 将AppraisalBases对象添加到列表中
 appraisalBasesList.Add(appraisalBases);
 }
 reader.Close();

 // 返回列表
 return appraisalBasesList;
}

请注意,我修改了变量名称以符合公共的名称规范,并将查询结果添加到了一个List<AppraisalBases>中。
原文地址: https://www.cveoy.top/t/topic/pJdj 著作权归作者所有。请勿转载和采集!