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,一经查实,立即删除!

相关文章

uva 1629——Cake slicing

题意:有一个n行m列网格蛋糕上有一些樱桃,每次可以把蛋糕一刀切成两块,最后使每块蛋糕上都有一个樱桃且切割线总长度最小。 思路:区间dp,记忆化搜索整个过程,然后分区间从上到下,从左到右&#x…

信号之SIGCHLD

信号之SIGCHLD SIGCHLD信号是子进程结束时发出来的信号&#xff0c;可用于在程序中捕获子进程结束的信号然后用wait函数将子进程资源回收。 优点&#xff1a;不会使父进程一直阻塞在wait函数处。 #include <signal.h> #include <stdio.h> #include <string.h&g…

uva 242——Stamps and Envelope Size

题意&#xff1a;给定最大贴邮票上限和若干个邮票组合&#xff0c;求最大的连续邮资的一个组合&#xff0c;如果有多个&#xff0c;按字典序输出最大的一个。 思路&#xff1a;对每一组邮票&#xff0c;求出当邮资为i时需要邮票数的最小值d[i]&#xff0c;边界为d[0]0、d[i]>…

js常用

//关闭,父窗口弹出对话框,子窗口直接关闭this.Response.Write("<script languagejavascript>window.close();</script>");//关闭,父窗口和子窗口都不弹出对话框,直接关闭this.Response.Write("<script>");this.Response.Write("{to…

信号之kill-raise

信号之kill-raise kill(),raise()都是信号发送函数 #include <signal.h> int kill(pid_t pid, int signo); kill函数向指定的进程发送信号。 int raise(int signo); raise函数向本进程发送信号,相当于kill(getpid(), int signo). #include <sys/types.h> #include…

Google 代码搜索

今天在CSDN上看到的消息&#xff0c;google推出了CodeSearch的服务&#xff0c;上去一测试&#xff0c;吓死我了&#xff01; 代码的秘密全无了&#xff01; http://www.google.com/codesearch/ 你可以试试你的代码看看&#xff01; 比如&#xff1a;搜索以下&#xff1a;on er…

uva 10723——Cyborg Genes

题意&#xff1a;输入两个A-Z组成的字符串&#xff0c;找到一个最短的串&#xff0c;使得两个串均是他的子串。 思路&#xff1a;最长公共序列问题。当i和j相等时&#xff0c;dp[i][j]dp[i-1][j-1]&#xff0c;不等时就是max(dp[i-1][j],dp[i][j-1]),如果当前的统计的数量大于s…

信号之函数的可重入性

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

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

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

uva 1631——Locker

题意&#xff1a;有一个n位的密码锁&#xff0c;每位都是0——9可以循环旋转&#xff0c;每次可以往上或者往下旋转一下&#xff0c;然后给定初始状态和末状态求最小旋转步数。 思路&#xff1a;递推&#xff0c;dp&#xff08;i&#xff0c;x&#xff0c;y&#xff09;表示翻到…

socekt编程-select

摘抄自 https://blog.csdn.net/lovekun1989/article/details/41042273 https://blog.csdn.net/Ctrl_qun/article/details/52524086 分为无select和有select版本&#xff0c;无select只能一个服务端一个客户端&#xff0c;有select能一个服务端对应多个客户端。 无select&#x…

uva 1632——Alibaba

题意&#xff1a;直线上有n个点&#xff0c;其中第i个点的坐标是xi&#xff0c;且他会在di秒后消失&#xff0c;阿里巴巴可以从任意位置出发&#xff0c;求访问过所有节点的最短时间&#xff0c;不能输出-1&#xff1b; 思路&#xff1a;01背包问题&#xff0c;dp&#xff08;i…

忙活了,暂时歇笔

估计近期活忙起来&#xff0c;有活忙就好&#xff0c;埋头不用想什么。所以暂时歇笔。估计有一段时间才更新。 转载于:https://www.cnblogs.com/zuolun/archive/2006/10/25/540051.html

CentOS7.6安装MYSQL8.0的步骤详解

转载 https://www.jb51.net/article/174536.htm

uva 10163——Storage Keepers

题意&#xff1a;给定n个相同的仓库&#xff0c;有m个人轮流值守&#xff0c;第i个人的应聘者的能力为pi&#xff0c;如果应聘者看守k个仓库&#xff0c;则仓库安全指数为pi/k的整数部分&#xff0c;求使得所有最小安全系数最大且工人pi最小的设计。 思路&#xff1a;二分01背包…

李开复:21世纪7种人才最抢手

21世纪最需要哪些人才&#xff1f;昨&#xff08;22&#xff09;日&#xff0c;Google副总裁、Google大中华区总裁李开复博士作客电子科技大学&#xff0c;以《21世纪最需要的七种人才》为题给大学生们带来了一场充满睿智而又不失幽默的演讲。李开复说&#xff1a;“21世纪&…

不进行格式化将U盘快速转换为NTFS格式

这里&#xff0c;我们要用到Windows自带的convert工具。 打开开始菜单&#xff0c;在“所有程序”“附件”中找到“命令提示符”&#xff0c;然后右击&#xff0c;选择以管理员身份运行。 可以输入convert /?查看用法。 先确认一下U盘的盘符&#xff0c;此处为G。 输入convert…

博客园培训OOAD的课程概要

于众不弃&#xff0c;由我负责博客园培训中OOAD的课程。因涉及内容较多&#xff0c;所以我整理了一个课程概要式的内容提要&#xff0c;希望大家能够给予宝贵的意见和指导。OOAD课程大纲 概述 透视OOAD的背后—软件学习之道、术、器 该部分讲述软件学习之路上存在的问题。将软件…

Linux下抓包命令tcpdump

本文内容来源于网络 转载&#xff1a;https://www.cnblogs.com/monogem/p/9802756.html PS&#xff1a;tcpdump是一个用于截取网络分组&#xff0c;并输出分组内容的工具&#xff0c;简单说就是数据包抓包工具。tcpdump凭借强大的功能和灵活的截取策略&#xff0c;使其成为Lin…

uva 12589——Learning Vector

题意&#xff1a;输入n个向量&#xff08;x&#xff0c;y&#xff09;&#xff0c;要求选出k个&#xff0c;从&#xff08;0&#xff0c;0&#xff09;开始画&#xff0c;使得画出来的折线与x轴围成的面积最大。输出面积的二倍。 思路&#xff1a;01背包&#xff0c;dp[i][j]表…