关于DataTable.Select不到数据的一种解决方案
网上有很多说的,试过,都没用。自己研究了一下,解决方案如下:
建立dataview,用dv.rowfilter,就可以取到了,然后TOTABLE即可。
代码如下:(只看中间那几句即可)
private void CreatTable(DataSet dsAll)
{
DataTable dtXH = new DataTable();
dtXH.Columns.AddRange(new DataColumn[] { new DataColumn("xh_id", typeof(System.String)), new DataColumn("a", typeof(System.String)) });
DataTable dtGfr = new DataTable();
dtGfr.Columns.AddRange(new DataColumn[] { new DataColumn("xh_id", typeof(System.String)), new DataColumn("gfr", typeof(System.String)), new DataColumn("gfrsbh", typeof(System.String)) }); if (dsAll.Tables.Count > )
{
DataTable dtitem = dsAll.Tables["item"];
DataRow[] dritems = dtitem.Select("xh_id<>''");
foreach (DataRow dr in dritems)
{
DataRow drXH = dtXH.NewRow();
drXH["xh_id"] = dr["xh_id"];
drXH["a"] = dr["a"];
dtXH.Rows.Add(drXH);
}
DataTable dtChild = dsAll.Tables["aChild"];
//解决方案:建立dataview,用dv.rowfilter,就可以取到了
DataView dv = dtitem.DefaultView;
foreach (DataRow dr in dtChild.Rows)
{
int itemid = Int32.Parse(dr["item_id"].ToString());
int aChildid = Int32.Parse(dr["aChild_id"].ToString());
string xh_id = ""; dv.RowFilter = string.Format("item_Id = {0}", itemid);
DataTable dttt = dv.ToTable();
//这么是查不到的
//DataRow[] drxhid = dtitem.Select(dv.RowFilter);
//if (drxhid.Length > 0)
//{
// xh_id = ((DataRow)drxhid[0])["xh_id"].ToString();
//}
if (dttt.Rows.Count > )
{
xh_id = dttt.Rows[]["xh_id"].ToString();
}
DataRow[] drChilds = dtitem.Select("aChild_id='" + aChildid + "'");
foreach (DataRow drChild in drChilds)
{
DataRow drgfr = dtGfr.NewRow();
drgfr["xh_id"] = xh_id;
drgfr["gfr"] = drChild["gfr"].ToString();
drgfr["gfrsbh"] = drChild["gfrsbh"].ToString();
dtGfr.Rows.Add(drgfr);
}
}
}
}
希望对大家有所帮助!
关于DataTable.Select不到数据的一种解决方案的更多相关文章
- DataTable.Select筛选过滤数据返回DataRow[]转为DataTable添加到DataSet
问题还原,如图所示,我们要筛选所有SHDP 为北京翠微KR的数据. 1. 筛选DataTable微软为我们提供了一个方法DataTable.Select(),其用法如下: 1) Select()—— ...
- neo4j批量导入数据的两种解决方案
neo4j批量导入数据有两种方法,第一种是使用cypher语法中的LOAD CSV,第二种是使用neo4j自带的工具neo4j-admin import. LOAD CSV 导入的文件必须是csv文件 ...
- MyBatis模糊查询不报错但查不出数据的一种解决方案
今天在用MyBatis写一个模糊查询的时候,程序没有报错,但查不出来数据,随即做了一个测试,部分代码如下: @Test public void findByNameTest() throws IOEx ...
- C# DataTable.Select() 筛选数据
有时候我们需要对数据表进行筛选,微软为我们封装了一个公共方法, DataTable.Select(),其用法如下: Select() Select(string filterExpression) S ...
- SELECT INTO和INSERT INTO SELECT的区别 类似aaa?a=1&b=2&c=3&d=4,如何将问号以后的数据变为键值对 C# 获取一定区间的随即数 0、1两个值除随机数以外的取值方法(0、1两个值被取值的概率相等) C# MD5 加密,解密 C#中DataTable删除多条数据
SELECT INTO和INSERT INTO SELECT的区别 数据库中的数据复制备份 SELECT INTO: 形式: SELECT value1,value2,value3 INTO Ta ...
- SQL Server游标 C# DataTable.Select() 筛选数据 什么是SQL游标? SQL Server数据类型转换方法 LinQ是什么? SQL Server 分页方法汇总
SQL Server游标 转载自:http://www.cnblogs.com/knowledgesea/p/3699851.html. 什么是游标 结果集,结果集就是select查询之后返回的所 ...
- Datatable的查找和排序(Datatable.Select)
Datatable 是一种常用的数据结构.数据类型有点类似于数据库中的表结构.在没有使用优秀的orm框架前,大部分的数据库的数据都是先变为Datatable 然后再通过代码转换变成 object. ...
- 在DataTable中执行DataTable.Select("条件")返回DataTable;
转:http://blog.csdn.net/hcf_force/article/details/7779062 1.在DataTable中执行DataTable.Select("条件&qu ...
- 去除DataTable重复数据的三种方法
业务需求 最近做一个把源数据库的数据批次导出到目标数据库.源数据库是采集程序采集而来的原始数据库,所以需要对其进行一些处理(过滤一些为空,长度太短或太长,非法字符,重复数据)然后在进行入库. 其中要避 ...
随机推荐
- 51nod-1227-平均最小公倍数
题意 定义 \(n\) 的平均最小公倍数: \[ A(n)=\frac{1}{n}\sum _{i=1}^n\text{lcm}(n,i) \] 求 \[ \sum _{i=L}^RA(i) \] \ ...
- 洛谷 P2015 二叉苹果树
老规矩,先放题面 题目描述 有一棵苹果树,如果树枝有分叉,一定是分2叉(就是说没有只有1个儿子的结点) 这棵树共有N个结点(叶子点或者树枝分叉点),编号为1-N,树根编号一定是1. 我们用一根树枝两端 ...
- P1054 等价表达式
题目描述 明明进了中学之后,学到了代数表达式.有一天,他碰到一个很麻烦的选择题.这个题目的题干中首先给出了一个代数表达式,然后列出了若干选项,每个选项也是一个代数表达式,题目的要求是判断选项中哪些代数 ...
- C/C++语言中让电脑随机的在某个范围中的任一随机数
这是我在笔试中碰见的一题中一部分,这就就记录下来.举例,输出[1,3]中任一随机数. #include<iostream> #include<cstdlib> #include ...
- 基于centos系统安装pip模块
pip模块安装 centos 6.5安装pip,centos安装Python包管理安装工具pip的方法如下: 此安装包使用的是pip1.5.5版本 wget --no-check-certificat ...
- [HEOI2016/TJOI2016]求和——第二类斯特林数
给你斯特林数就换成通项公式,给你k次方就换成斯特林数 考虑换成通项公式之后,组合数没有什么好的处理方法 直接拆开,消一消阶乘 然后就发现了(j-k)和k! 往NTT方向靠拢 然后大功告成 其实只要想到 ...
- python基础----内置函数----匿名函数(lambda)
Python3版本所有的内置函数: 1. abs() 获取绝对值 >>> abs(-) >>> abs() >>> abs() >>& ...
- 虚拟机安装ubuntu14.04.5系统
参考教程 在vitualbox安装 ubuntu14.04.2 LTS教程 http://jingyan.baidu.com/article/46650658228345f549e5f8cc.html ...
- Java BLOB 数据的插入与读取 操作
package com.lw.database; import java.io.FileInputStream; import java.io.FileOutputStream; import jav ...
- 移动端H5上传图片并压缩上传
手头上的这个项目主要是在微信内运行的一个网站,需要用户上传手机内的照片,而现在手机照片尺寸越来越大,直接上传的话的确上传进度慢影响用户体验而且也会给服务器增加压力,所以利用H5的新特性压缩后上传不失为 ...