您是通過BC.NET訪問斧?如果所以這裏是如何從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擴展方法是從this post採取:
public static class AxaptaExtensions
{
public static int GetTableId(this Axapta ax, string table)
{
return (int)ax.CallStaticClassMethod("Global", "tableName2Id", table);
}
}
嗨,我的Axapta的對象沒有一個方法稱爲GetTableId。查看此處:http://msdn.microsoft.com/en-us/library/microsoft.dynamics.businessconnectornet.axapta_methods.aspx – CallumVass 2012-03-13 09:08:40
是的,正如我所提到的,GetTableId是一個擴展方法我已經加入到Axapta的類。它的代碼在博客文章中 - 爲了您的方便,我現在添加到了這篇文章中。 – armasanea 2012-03-13 14:32:05
我明白了,謝謝這一點,我相信這是定了! – CallumVass 2012-03-13 14:37:39