• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

如何加载查询结果的IList的

c/c++ 来源:napi15 3次浏览

我有一个IList<T>如何加载查询结果的IList的<T>

IList<Student> studsList = new IList<Student>(); 

如何加载该查询nameage属性来我studsList

using(OracleCommand command = new OracleCommand(querySQL, connection)) 

    { 
     connection.Open(); 
     string query = "SELECT name, age FROM Student"; 
     using(OracleCommand command = new OracleCommand(querySQL, connection)) { 
      using(OracleDataAdapter oracleDataAdapter = new OracleDataAdapter()) { 
       oracleDataAdapter.SelectCommand = command;     
       command.ExecuteNonQuery(); 
       //What to do here? 
      } 

     } 


===========解决方案如下:

如果你command.ExecuteNonQuery();,你是在说“我不期待结果”。如果您想查看结果,则需要使用ExecuteReader,它将返回一个IDataReader API,允许您使用.Read()向前循环行。然后,每行可以访问一系列访问列的API,包括通过索引器([])或GetValueGetValues或键入的访问方法(GetStringGetInt32等)。

或者更简单 – 使用像dapper这样的工具!

var students = connection.Query<Student>(query); 

这个处理与:

  • 连接寿命(开口等)
  • 创建命令
  • 参数(在该示例中没有示出,但很容易)
  • 执行指令
  • 处理读取器
  • 解析每一行的内容到TStudent在这种情况下)
  • 正确

收盘都记录下来对于参数例如:

var region = "North"; 
var students = connection.Query<Student>(
    "select * from Students where [email protected]", new { region }); 

(您可能需要使用$region:region取决于您的ADO.NET提供商)


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)