上一页 1 ··· 7 8 9 10 11 12 13 下一页
摘要: 在AX2012中如果通过Configuration禁止了某个功能,对应配置下的表字段不会会被删除掉(DROP),而是继续保留在AOT中,这样的好处是一些外部的SSRS报表不会因为这些列删除掉而不能使用,需要注意的是虽然被禁止的字段仍然保留在AOT中,但是使用X++ SQLselect不会得到这些禁止字段的值,Query也是一样,结果中不会包含这些禁止掉字段。如果被禁止字段被用在Unique的索引中,字段被禁止掉后可能破坏索引的唯一性,这时需要在AOT中修改索引。同样的表也不会被删除,而是转化成临时表,对表的修改在表变量超出作用域范围后会被丢弃掉。更多细节参看MSDN:http://msdn.m 阅读全文
posted @ 2012-08-15 12:12 断水流 阅读(488) 评论(0) 推荐(0) 编辑
摘要: AX2012的Query多了一个Having节点,对应SQL语句的Having查询条件。假设SQL查询是这样的:select ct.DestinationCodeId ,count(*) from CustTable as ct where ct.DestinationCodeId != 'Gen_5' group by ct.DestinationCodeId having count(*) > 6 order by 1;在AOT中创建Query如何来实现这个SQL查... 阅读全文
posted @ 2012-08-15 11:37 断水流 阅读(532) 评论(0) 推荐(0) 编辑
摘要: 假设我们有两张表SalesOrder和SalesOrderLine,分别包含如下数据:SalesOrderID(integer, primary key)DateAdded(date)12010-01-0122010-02-02SalesOrderLineID(string, primary key)Quantity(integer)SalesOrderID(integer, foreign key)AA321BB671CC661SalesOrder为主表,SalesOrderLine为子表,通过SalesOrderId链接。首先用X++的SELECT的OUTER JOIN来挑选纪录:stat 阅读全文
posted @ 2012-08-15 10:56 断水流 阅读(1370) 评论(0) 推荐(0) 编辑
摘要: AX2012中视图可以有计算字段,这里根据MSDN上的演示来看看如何添加计算字段到视图。首先在AOT中创建视图名为TestCompColView,把CustTable表拖入到视图的DataSource中,可以看到名为CustTable_1的节点,把CustTable_1节点下的AccountNum和SubsgementId拖入到视图的字段中。创建计算字段的第一步是要定义一个静态方法,比如这里的 :private static server str compColSubsegAcctMethod(){ #define.ViewName(TestCompColView) #define... 阅读全文
posted @ 2012-08-14 13:37 断水流 阅读(770) 评论(0) 推荐(0) 编辑
摘要: 在做一些报表的时候,我们常常用到临时表用来存储一些临时数据,以前版本的AX只使用客户端内存保存临时表数据,SELECT的时候不能连接其他表,有很多的不方便,AX2012增加了TempDB类型的临时表,和In-Memory的临时表相比有以下特点:它是利用了SQL数据库的临时表,数据存储在服务器的数据库中,所以可以用在X++的SELECT JOIN中可以设置为分公司的还是全局的(SaveDataPerComapny属性)可以用在.Net Bussiness connector中可以有外键字段,但是其他表不能使用它的主键做外键可以有索引可以有方法但是不能重载可以用在Query中支持数据库事务没有Co 阅读全文
posted @ 2012-08-14 12:41 断水流 阅读(1043) 评论(0) 推荐(0) 编辑
摘要: 全文索引在索引中识别字符串字段中使用空格隔开的单词,不像普通索引仅仅使用字符串的第一个单词,这样能加快对字符串字段的搜索。AX2012支持每个表有一个且只能有一个全文索引,索引可以包含多个字段,对字段字符串长度没有限制,可以是设定的长度也可以使用memo类型,这是AX2009不支持的功能。创建全文索引很简单,在AOT表结构可以看到一个Full Text Index的目录,点击新建一个全文索引,把需要索引的字段拖入就可以了,唯一的要求就是表组TableGroup必须是Main。遗憾的是X++的select语句不能使用全文索引,全文索引只能用在Query中,可以设置QueryRange的Range 阅读全文
posted @ 2012-08-14 11:51 断水流 阅读(543) 评论(0) 推荐(0) 编辑
摘要: 表继承是AX2012新引进的功能,AX2009是不支持的。表继承表示一个表可以继承另一个表的字段和方法,称为衍生表,和通过外键关联的父表/子表是不相关的。使用表继承首先要有一个基表,设置基表的属性SupportInheritance为yes允许可以从这个表继承,注意这时候表内不能有字段(这个限制有点让人吐槽啊,一开始就要确定表是否要支持继承被继承)。在设置SupportInheritance可能弹出个错误“Preperty InstanceRelationType must be set to an Int64 field for root table”,这是因为基表需要一个Int64的字段来 阅读全文
posted @ 2012-08-14 11:11 断水流 阅读(955) 评论(5) 推荐(0) 编辑
摘要: 乐观并发控制(OCC)用于增进数据库性能,不像悲观并发控制(Pessimistic concurrency)在取出纪录时就锁定纪录(select forupdate),只是在实际更新纪录的时候才锁定纪录,Axapta3.0中只有悲观并发控制。因为在fetch纪录后还允许其他线程更新纪录,所以OCC的可能导致更新冲突而失败,注意在异常处理中(http://msdn.microsoft.com/en-us/library/aa893385.aspx)捕获异常UpdateConflict和UpdateConflictNotRecovered。OCC内部使用纪录的recVersion 字段来监测冲突, 阅读全文
posted @ 2012-08-14 09:54 断水流 阅读(1565) 评论(0) 推荐(1) 编辑
摘要: 类UnitOfWork用来管理数据库事务,它成功处理所有保存在表变量的纪录,或者拒绝所有的更新,这个类还可以自动管理外键关联表的删除、插入和更新顺序,自动将主表主键值填入相应的外键列。UnitOfWork不能象delete_from那样处理where选择的批纪录,只能操作给定的行。典型的用法:server static public void tryUnitOfWork(){ Table1 table1; Table2 table2; UnitofWork uow=new UnitofWork(); ; delete_from table1; delete... 阅读全文
posted @ 2012-08-14 09:16 断水流 阅读(641) 评论(0) 推荐(0) 编辑
摘要: AX2012的表属性中可以设置ValidTimeStateFieldType来创建一个具有有效期状态的表,系统自动给表添加ValidFrom和ValidTo两个字段。这个属性及字段有什么用呢?假如有一笔贷款第一年的利率是5%,第二年变成了6%,在第二年我们仍想知道它在第一年的利率,当然可以使用其他的逻辑和表来保存过去时间段有效的数据,使用ValidTimeStateFieldType可以简化这样的问题。表的ValidTimeStateFieldType属性有三个选项,NONE、Date和UtcDateTime三个选项,选择后面两个的任意一个系统会自动为表添加ValidFrom和ValidTo两 阅读全文
posted @ 2012-08-10 09:23 断水流 阅读(1243) 评论(2) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 下一页