Inside Dynamics Axapta源代码赏析(四)

第八章:Developing Applications Using Business Connector
这一章的代码主要演示如何通过Business Connector与Axapta交互
在Dynamics Axapta的客户端安装目录中找到Microsoft.Dynamics.BusinessConnectorNet.dll这个文件,添加到VS.NET的工程中.
1.HelloWorldBC.cs

None.gifclass HelloWorldBC
ExpandedBlockStart.gifContractedBlock.gif    
dot.gif{
InBlock.gif        
static void Main(string[] args)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            Axapta ax;
InBlock.gif
InBlock.gif            
// Log on to Dynamics AX
InBlock.gif
            ax = new Axapta();
InBlock.gif
InBlock.gif            
try
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                ax.Logon(
nullnullnullnull);
ExpandedSubBlockEnd.gif            }

InBlock.gif            
catch (Exception)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                Console.WriteLine(
"Exception occurred during logon");
ExpandedSubBlockEnd.gif            }

InBlock.gif            
InBlock.gif            Console.WriteLine(
"Hello World!");
InBlock.gif            
InBlock.gif            
// Log off from Dynamics AX
InBlock.gif
            ax.Logoff();
InBlock.gif
ExpandedSubBlockEnd.gif        }

ExpandedBlockEnd.gif    }
好久没用VS2005了,今天用了一下,智能提示忒爽了,Axapta编辑器也快点好起来吧......
搞不清楚四个参数都填null是怎么找到AOS的?本来想用Reflector反编译一下Microsoft.Dynamics.BusinessConnectorNet.dll,结果出来的是乱七八糟的东西,唉,忒不友好了......
2.AccessingDataBC.cs
遍历所有的料品,并打印料品Id和料品名称.
None.gif // Instantiate a Dynamics AX record object for the 
None.gif            
// record we want to work with
None.gif
            AxaptaRecord axRecord = ax.CreateAxaptaRecord("InventTable");
None.gif            
None.gif            
// Execute a query against the record 
None.gif
            axRecord.ExecuteStmt("select * from %1");
None.gif
None.gif            
// Loop through the returned records
None.gif            
// Extract the data from two fields for each record
None.gif
            while (axRecord.Found)
ExpandedBlockStart.gifContractedBlock.gif            
dot.gif{
InBlock.gif                invItemName 
= axRecord.get_Field(invItemNameField);
InBlock.gif                invItemId 
= axRecord.get_Field(invItemIdField);
InBlock.gif
InBlock.gif                Console.WriteLine(invItemId 
+ "\t" + invItemName);
InBlock.gif
InBlock.gif                
// Go to the next record
InBlock.gif
                axRecord.Next();
ExpandedBlockEnd.gif            }
3.InvokingBusinessLogicBC.cs
调用Axapta中的静态方法.
None.gif // Invoke the CallStaticClassMethod managed class
None.gif                
// Provide the X++ class name and method to execute
None.gif                
// The return value is placed into returnValue
None.gif
                returnValue = ax.CallStaticClassMethod("InventoryManager",
None.gif                            
"updateInventoryQty");
None.gif
None.gif                
// Use the return value to take some action
None.gif
                if((Boolean)returnValue)
None.gif                    Console.WriteLine(
"Inventory quantity updated successfully");
None.gif                
else
None.gif                    Console.WriteLine(
"Inventory quantity update failed");

其中的类InventoryManager在工程InsideDynamicsAXChapter8中定义.

这些连接和简单的操作倒还可以,不过Axapta的接口和SDK写得确实不甘恭维......

转载于:https://www.cnblogs.com/Farseer1215/archive/2006/09/26/515255.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/381817.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

信号之函数的可重入性

信号之函数的可重入性 在调用某个函数过程中出现中断信号,且改信号处理函数中再次调用该函数,访问全局、静态变量的函数是不可重入函数。 前后数据不一致,函数是不可重入的,特点:函数中使用全局变量或静态变量。 前后数…

ASP.NET 中处理页面“回退”的方法

我们在编写基于 ASP.NET 的应用程序时,如果代码执行出错或检测到异常,一般会提示用户“返回”或“回退”,或者在多步操作、列表/详细的查看界面中,也会给用户提供回退到上一页面的链接,对于这种情况,大家很…

编辑器

1.FCKeditor 编辑器 FCKeditor is compatible with most internet browsers which include: IE 5.5 (Windows), Firefox 1.0, Mozilla 1.3 and Netscape 7. 最新版本:FCKeditor 2.0 语言环境:多国语言特性功能:所见所得,支持平台众多,支持XHTML 1.0,文本格式设置,常见的编辑,复…

VSTO---excel编程 [待续] [12月5日更新,详见文档下面]

最近比较闲了,考试也快要到了。但是编程技术方面还是不能掉啊.现在开始VSTO编程之旅了。这个话题是连Blog的。所以有兴趣的Blog之友,技术之士,可以匿名或者非匿名的评论,交流。对了,下面的代码都是本人写的&#xff0c…

Rose与PowerDesigner:两款建模工具对比分析比较

一、 二者的出身 作为世界最著名的两大CASE工具,Rational Rose和PowerDesigner的名声可谓如雷贯耳。Rose是当时全球最大的CASE工具提供商Rational的拳头产品,UML建模语言就是由Rational公司的三位巨头Booch、Rumbaugh和Jacobson发明的,后来R…

c#活动目录操作

添加引用 System.DirectoryServices导入命名空间 using System.DirectoryServices;srvip "192.168.1.1"; dn "DCl,DCcom";user "administrator"; pwd "123"; DirectoryEntry de;denewDirectoryEntry("LDAP://"srvip &quo…

[导入]Ajax使用初步

文章来源:http://blog.csdn.net/21aspnet/archive/2007/03/19/1534299.aspx 转载于:https://www.cnblogs.com/zhaoxiaoyang2/archive/2007/03/20/816309.html

CodeForces 570B,C

CodeForces 570B 题意:给定n和m,然后再(1-n)中随机取出c,求一个m使得 的概率最大,概率一样时输出最小的m。 思路:只需要看1到m-1和m1和n的最大的那一边就可以了,坑是n1的情况和n为…

验证码(转)

把下面代码存为一个文件code.aspx。另一个文件里调用<img src"code.aspx">using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebCo…

ASP.NET 2.0 的数据源、数据绑定控件概述与区别

一、Render UI 1 GridView GridView 控件用来在表中显示数据源的值。每列表示一个字段&#xff0c;而每行表示一条记录。GridView 控件支持下面的功能&#xff1a; 绑定至数据源控件&#xff0c;如 SqlDataSource。 内置排序功能。 内置更新和删除功能。 内置分页功能。 内…

[导入]javascript总结

1.动态添加一行&#xff0c;和删除当前行<script> var count0; function ff() { var txt1document.getElementById("Text1"); var table1document.getElementById("table1"); rowNotable1.rows.length; Trtable1.insertRow(rowNo); Tr.id"tr&qu…

求助:DataGrid加行号的问题

我的数据是fname,lnameprivatevoidPage_Load(objectsender, System.EventArgs e) { if(!IsPostBack) { myConnectionnew SqlConnection("server127.0.0.1;uidsa;pwdsa;databaseqqq;"); strSQL"SELE…

CVS的使用教程(转)

、什么是CVS? CVS - Concurrent Versions System&#xff08;并发版本管理系统&#xff09;是一个版本控制管理系统&#xff0c;它是目前最为广泛使用的一个系统。 在多人共同开发一个大型项目时&#xff0c;源代码的维护和版本维护是一件令人头疼的事情&#xff0c;由于多人开…

压缩图片上传到数据库

保存到数据库public int DyfcListInsert(int id,string name,string username,string content,Byte[] photo) { string sql "S_DyfcList_Insert"; SqlCommand sqlcmd new SqlCommand(sql,DwzxConfiguration.ConnectDB() ,DwzxConfigu…

使用CodeDom生成程序集

usingSystem;usingMicrosoft.CSharp;usingSystem.CodeDom.Compiler;usingSystem.CodeDom;namespaceTest.CUI{ class Program { static void Main() { // 创建编译器对象 CSharpCodeProvider p new CSharpCodeProvider(); ICodeCompiler cc p.CreateCo…

汇编语言——第1次上机实验

准备&#xff1a; 硬件&#xff1a;pc机&#xff0c;32位win操作系统&#xff0c;能够运行dos&#xff0c;某些64位win10系统可能会不支持 软件&#xff1a;masm程序 实验内容&#xff1a; 1.winr运行dos&#xff0c;cd到指定的masm目录&#xff08;为了调试方便&#xff0c;所…

[导入]一再的变故,终于决定何去何从.

dudu文章来源:http://blog.csdn.net/veiny/archive/2007/09/12/1781906.aspx 转载于:https://www.cnblogs.com/veiny/articles/904703.html

汇编语言——第2次上机实验

实验要求&#xff1a; 求表达式x*yz-200的值 实验步骤&#xff1a; 1.按照实验要求&#xff0c;画出相应的计算流程图 可以看到&#xff0c;先算x*y&#xff08;保存在dx&#xff1a;cx&#xff09;&#xff0c;然后扩展z为双字节&#xff08;dx&#xff1a;ax&#xff09;&am…

SQL Server 2005 中附加只有mdf文件的数据库(修复置疑的数据库)

在利用VSTS中&#xff0c;VSTS不能创建团队项目&#xff0c;数据库ReportServer出现置疑现象&#xff0c;数据库无法打开。修复过程中&#xff0c;由于想利用SQL SERVER 2000的功能&#xff0c;先备份了ReportServer库文件和日志文件&#xff0c;然后删除数据库。在此之前先进行…

是否会成为问题——Linq to Sql的执行可能无法复用查询计划

查询计划 Sql Server在执行一条查询语句之前都对对它进行“编译”并生成“查询计划”&#xff0c;查询计划告诉Sql Server的查询引擎应该用什么方式进行工作。Sql Server会根据当前它可以收集到的各种信息&#xff08;例如内存大小&#xff0c;索引的统计等等&#xff09;把一条…