社区
C#
帖子详情
DataSet 和 DataTable 问题
htw_qq
2005-10-22 08:41:59
我有两个数据访问层的方法,分别返回两个 DataTable ,
一个DataTable 是查询的人的基本信息, 比如: playerid 张三 男 22岁
另一个DataTable 是查询人报的项目名称 比如: playerid 100米 200米
要得到的效果: 张三 男 22岁 100米 200米
我要在业务层把两个DataTable 合成一个,因为在界面层只能接受一个DataTable 或 DataSet
...全文
223
10
打赏
收藏
DataSet 和 DataTable 问题
我有两个数据访问层的方法,分别返回两个 DataTable , 一个DataTable 是查询的人的基本信息, 比如: playerid 张三 男 22岁 另一个DataTable 是查询人报的项目名称 比如: playerid 100米 200米 要得到的效果: 张三 男 22岁 100米 200米 我要在业务层把两个DataTable 合成一个,因为在界面层只能接受一个DataTable 或 DataSet
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
marvelstack
2005-10-24
打赏
举报
回复
建议使用Ado.net下的表达式来实现你需要的功能,
http://www.microsoft.com/china/MSDN/library/data/dataAccess/ADONETEXP.mspx
huang1023
2005-10-23
打赏
举报
回复
private DataTable GetMergedTable(DataTable table1, DataTable table2)
{
DataTable mergedTable = CreateMergedTable();
foreach (DataRow arow in table1.Rows)
{
string playerId = arow["PlayerId"].ToString();
DataRow brow = table2.Rows.Find(playerId);
if (brow != null)
{
DataRow newRow = mergedTable.NewRow();
newRow["PlayerId"] = playerId;
newRow["Name"] = arow["Name"].ToString();
newRow["Sex"] = arow["Sex"].ToString();
newRow["Age"] = arow["Age"].ToString();
newRow["Length1"] = brow["Length1"].ToString();
newRow["Length1"] = brow["Length2"].ToString();
}
}
return mergedTable;
}
private DataTable CreateMergedTable()
{
DataTable table = new DataTable();
DataColumnCollection columns = table.Columns;
columns.Add("PlayerId", typeof(System.Int32));
columns.Add("Name", typeof(System.String));
columns.Add("Sex", typeof(System.String));
columns.Add("Age", typeof(System.String));
columns.Add("Length1", typeof(System.String));
columns.Add("Length2", typeof(System.String));
table.PrimaryKey = new DataColumn[] {columns["PlayerId"]};
return table;
}
parol2910
2005-10-23
打赏
举报
回复
把两张datatable起不同的名,然后放到一个dataset中,最后返回dataset
htw_qq
2005-10-23
打赏
举报
回复
To: huang1023(啊邦)
你说的思路我也想过,但是不知道怎么实现?能帮忙写点测试代码吗?
htw_qq
2005-10-23
打赏
举报
回复
谢谢各位的参与,我的问题是没有办法把两个数据集连接起来。
前一个 DataTable 已经是从视图(三个表)查询出来的,上面的张三我只是举个例子;
第二个 DataTable 是程序中动态生成的临时表,然后查询出临时表的数据,是通过SQL编程来实现的。
其实我把这个临时表建在数据库中,通过SQL编程来给这个表添数据,再把这个表跟前面的表一起做成视图也是可行的,但是这样就在数据库中留下了一个没有用的表了,也比较麻烦。如果有办法把两个 DataTable 合在一起就什么问题都解决了,请大家多提思路啊!
huang1023
2005-10-22
打赏
举报
回复
给楼主一个思路,不知道可不可以接受:生成一个DataTable,把前面两个表的数据对应起来然后白拷贝到新的DataTable里,
huang1023
2005-10-22
打赏
举报
回复
楼上的好像误解了贴主的意思了。贴主说的前提是这两个表已存在于内存中,这时他想把两个表连接起来得到他想要的结果,而不这个两表在数据库系统,然后用一条sql查询语句连接取得结果。这个问题我以前也想到过,我想微软应该在他的ADO.NET框架里边即在DataSet里边支持至一部分sql的查询语句(如连接),这样的话意义应该很大。实际在数据库设计中一个对像的信息我们往往不是放在一个表里边边而多个表里边,
swans
2005-10-22
打赏
举报
回复
啊.数据库知识.....
singlepine
2005-10-22
打赏
举报
回复
那你怎么不直接在数据层返回一个包含张三 男 22岁 100米 200米的dataset呢,用sql语句关联查询就可以得到
string sql="select a.性命,a.性别,a.年龄,b.一百米,b.二百米 from 基本信息 a left join 人报的项目名称 b on a.playerid=b.playerid"
singlepine
2005-10-22
打赏
举报
回复
那你怎么不直接在返回一个包含张三 男 22岁 100米 200米的dataset呢,用sql语句关联查询就可以得到
string sql="a.性命,a.性别,a.年龄,b.一百米,b.二百米 from 基本信息 a left join 人报的项目名称 b on a.playerid=b.playerid"
C#
DataSet
和
DataTable
详解
C#
DataSet
和
DataTable
详解
详解C#的
DataSet
和
DataTable
详解C#的
DataSet
和
DataTable
,顾名思义,详细的介绍了
DataSet
和
DataTable
两者的关系和区别
Streaming
Dataset
和Power Automate的使用
该课程主要讲解PowerBI中Streaming
dataset
的使用,PowerBI与Power Automate的集成 具体内容有: 1 通过Streaming
Dataset
和Power BI Automate获取实时数据 2 通过Form+Automate+PowerBI实时展示调查问卷数据 3 ...
DataSet
和
DataTable
有用的方法
DataSet
和
DataTable
有用的方法
C#_
DataSet
和
DataTable
详解
C#_
DataSet
和
DataTable
详解
C#
110,538
社区成员
642,577
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章