在C#中使用QueryRun数据类型
本文关键字:QueryRun 数据类型 | 更新日期: 2023-09-27 18:27:23
我想知道是否可以在c#中使用QueryRun对象,如果可以,我应该导入哪个命名空间来使用它,因为我有一个在AX类中返回QueryRun对象的方法,我在c#代码中这样调用它:
CallStaticClassMethod("OnlineUsers", "findMultipleProducts", user, id);
findMultipleProducts是有问题的方法,我需要将其作为QueryRun对象访问,因为我需要使用.next()方法迭代产品。任何帮助或例子都将不胜感激。
您是否通过BC.NET访问Ax?如果是这样的话,下面是如何使用BC.NET:中的QueryRun的示例
using (var ax = new Axapta())
{
ax.Logon(null, null, null, null);
int tableId = ax.GetTableId("TaxTable");
var query = ax.CreateAxaptaObject("Query");
var qbd = (AxaptaObject)query.Call("addDataSource", tableId);
var qr = ax.CreateAxaptaObject("QueryRun", query);
while ((bool)qr.Call("next"))
{
var record = (AxaptaRecord)qr.Call("Get", tableId);
Console.WriteLine("TaxCode: {0}", record.get_Field("TaxCode"));
Console.WriteLine("TaxName: {0}", record.get_Field("TaxName"));
}
ax.Logoff();
}
GetTableId扩展方法取自本文:
public static class AxaptaExtensions
{
public static int GetTableId(this Axapta ax, string table)
{
return (int)ax.CallStaticClassMethod("Global", "tableName2Id", table);
}
}