LLBLGen - 如何执行IRetrievalQuery

时间:2013-12-09 13:14:58

标签: c# llblgenpro

我正在尝试使用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 

1 个答案:

答案 0 :(得分:0)

我在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中。