【问题标题】:LLBLGen - How to execute an IRetrievalQueryLLBLGen - 如何执行 IRetrievalQuery
【发布时间】:2013-12-09 13:14:57
【问题描述】:

我正在尝试使用 execute() 方法执行 IRetrievalQuery,但我收到错误消息“不存在连接。无法执行命令。”文档告诉我需要打开一个连接,但我不确定如何。我应该怎么做才能执行我的查询?有任何想法吗 ?我正在使用 LLBLGen 2.6 版。

代码:

IRetrievalQuery query = RetrievalProcedures.GetLlmBudgetGetDepTotalCancelledCallAsQuery(month, BudgetUtils.CurrentTerm(), department);

DataTable data = new DataTable();
data.Load(query.Execute(CommandBehavior.CloseConnection)); // execute fails 

【问题讨论】:

标签: c# llblgenpro


【解决方案1】:

我在 LLBLGEN 表格上问过,这是我得到的 answer。我基本上需要像下面这样的东西:

using( DataAccessAdapter adapter = new DataAccessAdapter() )
{
    IDataReader reader = adapter.FetchDataReader( 
        RetrievalProcedures.GetCustOrdersOrdersCallAsQuery( "CHOPS" ), 
        CommandBehavior.CloseConnection );
    while( reader.Read() )
    {
        Console.WriteLine( "Row: {0} | {1} | {2} | {3} |", reader.GetValue( 0 ), 
            reader.GetValue( 1 ), reader.GetValue( 2 ), reader.GetValue( 3 ) );
    }
    // close reader, will also close connection
    reader.Close();
}

示例中的IDataReader 实例也可用于使用其Load 方法将数据加载到DataTable 中。

【讨论】:

  • 关于加载方法 - 它是 DataTable 上的加载方法,如:DataTable dt = new DataTable(); dt.Load(myIDataReader);
猜你喜欢
  • 2023-03-18
  • 1970-01-01
  • 2013-10-24
  • 1970-01-01
  • 2013-12-08
  • 2010-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多