文档章节

DataSet, DataTable

fandyx
 fandyx
发布于 2015/02/03 14:06
字数 433
阅读 35
收藏 0
点赞 0
评论 0
// Copyright (C), 2015, CEU Co., Ltd.
// USR Changed by 2015-02-03T14:02:52 Fandy Xie 谢宇帆
// Version       : 1.0
// Description   : AX2009处理,读取dataSet,dataTable
// Return        : dataSet, dataTable
static System.Data.DataSet dataSet_dataTable_read(
    companyId   _companyId,
    tableName   _tableName,
    fieldName   _fieldName01   = "",
    anyType     _fieldValue1   = null,
    fieldName   _fieldName02   = '',
    anyType     _fieldValue2   = null,
    fieldName   _fieldName03   = "",
    anyType     _fieldValue3   = null,
    fieldName   _fieldName04   = '',
    anyType     _fieldValue4   = null,
    int         _maxRecords    = 2)
{
    System.Data.DataTable               dataTable;
    System.Data.DataSet                 dataSet;
    System.Data.DataTableCollection     dtCollection;
    System.Data.DataColumnCollection    colCollection;
    System.Data.DataRowCollection       rowCollection;
    System.Data.DataTableReader         dataTableReader;
    System.Data.DataRow                 row;
    System.Data.DataColumn              column;

    Common                  common;
    DictTable               dictTable;
    query                   q;
    queryRun                qr;
    queryBuildRange         qbr;
    queryBuildDataSource    qbds;
    map                     mapField = new map(types::Integer, types::String);
    MapEnumerator           me;
    fieldId                 fieldId, field1, field2, field3, field4;
    str                     tableName, fieldName, xmlValue;
    int                     columnCounter, rowCounter, i, j, m;
    str                     value, ret;
    container               mapCon;
    ;


    dictTable   = new DictTable(tableName2id(_tableName));
    common      = dictTable.makeRecord();
    field1      = fieldname2Id(dictTable.id(), _fieldName01);
    field2      = fieldname2Id(dictTable.id(), _fieldName02);
    field3      = fieldname2Id(dictTable.id(), _fieldName03);
    field4      = fieldname2Id(dictTable.id(), _fieldName04);

    q           = new query();
    q.allowCrossCompany(true);
    if (_companyId)
    {
        q.addCompanyRange(_companyId);
    }
    qbds        = q.addDataSource(dictTable.id());
    if (field1)
    {
        qbr     = qbds.addRange(field1);
        if (typeof(_fieldValue1) == types::String)
            qbr.value(_fieldValue1);
        else
            qbr.value(sysQuery::value(_fieldValue1));
    }
    if (field2)
    {
        qbr     = qbds.addRange(field2);
        if (typeof(_fieldValue2) == types::String)
            qbr.value(_fieldValue2);
        else
            qbr.value(sysQuery::value(_fieldValue2));
    }

    if (field3)
    {
        qbr     = qbds.addRange(field3);
        if (typeof(_fieldValue3) == types::String)
            qbr.value(_fieldValue3);
        else
            qbr.value(sysQuery::value(_fieldValue3));
    }
    if (field4)
    {
        qbr     = qbds.addRange(field4);
        if (typeof(_fieldValue4) == types::String)
            qbr.value(_fieldValue4);
        else
            qbr.value(sysQuery::value(_fieldValue4));
    }

    dataTable       = new System.Data.DataTable();
    colCollection   = dataTable.get_Columns();
    colCollection   = YIP_ViewDataSet::getTableColumnsCollection(colCollection, dictTable.id());
    mapField        = YIP_ViewDataSet::getTableFieldsMap(dictTable.id());

    rowCollection   = dataTable.get_Rows();
    tableName       = dictTable.name();
    dataTable.set_TableName(tableName);

    qr              = new queryRun(q);
    //info(qbds.toString());
    while (qr.next())
    {
        common = qr.get(dictTable.id());
        i++;
        if (_maxRecords)
        {
            if (i > _maxRecords)
                break;
        }
        row= dataTable.NewRow();
        me = mapField.getEnumerator();
        while (me.moveNext())
        {
            fieldId = me.currentKey();
            fieldName = me.currentValue();
            row.set_Item(fieldName, common.(fieldId));
        }
        rowCollection.Add(row);
    }


    setprefix(tableName);
    info("...coloumn, row Collection....................");
    rowCounter = rowCollection.get_Count();
    columnCounter = colCollection.get_Count();
    for(i = 0; i < rowCounter; i ++)
    {
        row = rowCollection.get_Item(i);
        //row01   = CLRInterop::getAnyTypeForObject(row.get_Item(i));
        for(j = 0; j < columnCounter; j ++)
        {
            column      = colCollection.get_Item(j);
            fieldName   = column.get_ColumnName();
            if (row.IsNull(j))
                xmlValue = "null";
            else
                xmlValue = row.get_Item(j);
            info(strfmt("Row Index[%1], column Index[%2, %3], value[%4].", i + 1, j + 1, fieldName, xmlValue));
        }
    }
    dataTable.WriteXml(@"C:\Users\h2xyf01\Desktop\EWF\a.xml");
    info("...dataTable.CreateDataReader....................");
    dataTableReader = dataTable.CreateDataReader();
    i = 0;

    while (dataTableReader.Read())
    {
        i++;
        value = queryValue(ClrInterop::getAnyTypeForObject(dataTableReader.GetValue(0)));
        //value = ClrInterop::getAnyTypeForObject(dataTableReader.get_Item("NAME"));
        value = strfmt("%1,%2", i,value);
        ret += ret ? "\n" + value : value;
    }
    info(ret);

    dataSet     = new System.Data.DataSet();
    dataSet.set_DataSetName(dataTable.get_TableName());
    dtCollection = dataSet.get_Tables();
    dtCollection.Add(dataTable);

    i = 0;
    info("...dataSet.CreateDataReader....................");
    dataTableReader = dataSet.CreateDataReader();
    ret = "";
    while (dataTableReader.Read())
    {
        i++;
        value = queryValue(ClrInterop::getAnyTypeForObject(dataTableReader.GetValue(0)));
        //value = ClrInterop::getAnyTypeForObject(dataTableReader.get_Item("NAME"));
        value = strfmt("%1,%2", i,value);
        ret += ret ? "\n" + value : value;
    }
    info(ret);

    return dataSet;
}


© 著作权归作者所有

共有 人打赏支持
fandyx
粉丝 0
博文 39
码字总数 11111
作品 0
东莞
技术主管
如何去掉DataTable中的重复行(新增.net 2.0中最新解决方法---简便)

.net 1.1中的解决方法(转) 1建立一个DataSetHelper类(DataSetHelper.cs) public class DataSetHelper ...{ public DataSet ds; public DataSetHelper(ref DataSet DataSet) ...{ ds = DataS......

pensir
2008/02/17
0
0
DataTable已属于另一个数据集

DataSet ds1 = new DataSet(); DataTable dt = (DataTable)gridControl1.DataSource; DataTable dt2 = dt.Copy();//如果不加这句话,则会出现DataTable属于另一个DataSet的错误 ds1.Tables.A......

donny945
2014/06/19
0
0
VB.Net DataSet和DataTable

在我们编写代码的时候从数据库里取出数据,填充到dataset里,再根据表的名字,实例化到 datatable 中。其实使用 dataset 相当于所使用数据库中数据的副本,保存在服务器的内存中。 ● 注意如...

晨曦之光
2012/04/24
2.7K
0
jquery datatable 常用例子

在项目中经常用到DataTable,如果DataTable使用得当,不仅能使程序简洁实用,而且能够提高性能,达到事半功倍的效果,现对DataTable的使用技巧进行一下总结。 一、DataTable简介 (1)构造函数 ...

wolf_su
2013/05/28
0
0
DataSet导出CSV格式(ASP.NET,C#)

DataSet导出CSV格式(ASP.NET,C#) 作者:Not MSN:notking@hotmail.com Email:nots@sohu.com 本文引用下面的 Microsoft .NET 框架类库命名空间: System.Data; System.Web.UI.WebControls; 概要......

晨曦之光
2012/03/09
196
0
将Excel文件数据库导入SQL Server

将Excel文件数据库导入SQL Server的三种方案//方案一: 通过OleDB方式获取Excel文件的数据,然后通过DataSet中转到SQL Server openFileDialog = new OpenFileDialog(); openFileDialog.Filt...

晨曦之光
2012/03/09
231
0
jquery datatable 常用例子及函数等

在项目中经常用到DataTable,如果DataTable使用得当,不仅能使程序简洁实用,而且能够提高性能,达到事半功倍的效果,现对DataTable的使用技巧进行一下总结。 一、DataTable简介 (1)构造函数 ...

最深的夜
2015/01/26
1K
0
XML与DataSet的相互转换类

送给大家一个XML与DataSet的相互转换的类: XmlDatasetConvert 该类提供了四种方法: 1、将xml对象内容字符串转换为DataSet 2、将xml文件转换为DataSet 3、将DataSet转换为xml对象字符串 4、将...

晨曦之光
2012/03/09
139
0
华仁日租公寓工作总结

1、repeater控件的DataSource为null时,我们不能够调用其内的属性和函数;由此可类推到任何类; 2、从DataTable中取出数据写入到excel中时,1.可以把DataTable数据绑定到repeater或者gride上...

温暖的小明
2016/03/21
40
0
Dorado中DataTable使用技巧汇总

1.如何设定表格中行的高度(包括表格头,合计栏) headerHeight:设定表格头的高度; footerHeight:设定表格合计栏的高度; rowHeidht:设定数据行的高度; dorado-5.0 060904.1658以后的版本...

JAVA_NINA
2012/05/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Java基础——异常

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。 异常处理: 可以挖很多个陷阱,但是不要都是一样...

凯哥学堂
7分钟前
0
0
180723-Quick-Task 动态脚本支持框架之结构设计篇

Quick-Task 动态脚本支持框架之结构设计篇 相关博文: 180702-QuickTask动态脚本支持框架整体介绍篇 180719-Quick-Task 动态脚本支持框架之使用介绍篇 前面两篇博文,主要是整体介绍和如何使用...

小灰灰Blog
10分钟前
0
0
SBT 常用开发技巧

SBT 一直以来都是 Scala 开发者不可言说的痛,最主要的原因就是官方文档维护质量较差,没有经过系统的、循序渐进式的整理,导致初学者入门门槛较高。虽然也有其它构建工具可以选择(例如 Mill...

joymufeng
15分钟前
0
0
HBase in Practice - 性能、监控及问题解决

李钰(社区ID:Yu Li),阿里巴巴计算平台事业部高级技术专家,HBase开源社区PMC&committer。开源技术爱好者,主要关注分布式系统设计、大数据基础平台建设等领域。连续4年基于HBase/HDFS设计和...

中国HBase技术社区
16分钟前
1
0
ES18-JAVA API 批量操作

1.批量查询 Multi Get API public static void multiGet() {// 批量查询MultiGetResponse response = getClient().prepareMultiGet().add("my_person", "my_index", "1")// 查......

贾峰uk
20分钟前
0
0
SpringBoot2.0使用health

1,引入actuator <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency> 2,application.properties ......

暗中观察
27分钟前
0
0
阿里巴巴Java开发规约

###编程规约 命名风格 【强制】代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束 【强制】代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。...

简心
32分钟前
0
0
如何用TypeScript来创建一个简单的Web应用

转载地址 如何用TypeScript来创建一个简单的Web应用 安装TypeScript 获取TypeScript工具的方式: 通过npm(Node.js包管理器) npm install -g typescript 构建你的第一个TypeScript文件 创建...

durban
36分钟前
0
0
分享好友,朋友圈自定义分享链接无效

这个问题是微信6.5.6版本以后,修改了分享规则:分享的连接必须在公众号后台设定的js安全域名内

LM_Mike
54分钟前
0
0
2018年7月23日课程

一、LVS-DR介绍 director分配请求到不同的real server。real server 处理请求后直接回应给用户,这样director负载均衡器仅处理客户机与服务器的一半连接。负载均衡器仅处理一半的连接,避免了...

人在艹木中
57分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部