如何为返回多个结果集的 DataSet 中表重新命名?

CloneCenter 2004-05-05 10:10:41
存储过程返回了多个结果集,如下:
select * from TableA
select * from TableC
我是用 SqlDataAdapater.Fill(DataSet),如何为 DataSet 中的每一个表名称命名,系统默认的是 Table/Table1/Table2...,能不能在 Fill 的时候指定好我需要的名称。

很显然,Fill(DataSet, TableName)这样的方法是不行的,因为我返回了多个表结果。

谢谢大家!
...全文
156 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
CloneCenter 2004-05-06
  • 打赏
  • 举报
回复
呵呵,楼上的,借我的宝地问问题,是要收费的哦。嘻嘻

其实就是一段 Sql 语句,执行多个 Select 语句就好了。你可以自己试试看,写一个存储过程,里面放上几个 Select 就返回了多于一个表的数据集。

看来我的问题,只有用笨办法解决了。谢谢大家。
CloneCenter 2004-05-05
  • 打赏
  • 举报
回复
谢谢大家!

我的存储过程返回一个多个表的结果,在 DataSet 中反映为多个 DataTable。我知道可以单个的指定我需要的表,我的意思是有没有什么方法可以比较简便的实现我说的功能。
zjsen(星愿)所说的 TableMappings 我可以试一试。
CMIC 2004-05-05
  • 打赏
  • 举报
回复
.........
DataSet mDs=new DataSet();
SqlDataAdapater mDa_Ds=new SqlDataAdapater("select * from TableA",Cn);
mDa_Ds.Fill(mDs,"MyTableA");


DataTable mDt=new DataTable();
SqlDataAdapater mDa_Dt=new SqlDataAdapater("select * from TableB",Cn);
mDa_Dt.Fill(mDt,"MyTableB");
mDa_Ds.Tables.Add(mDt);
八爪鱼-杭州 2004-05-05
  • 打赏
  • 举报
回复
DataTable t1=new DataTable("tableA");
DataTable t2=new DataTable("tableB");
DataSet ds=new DataSet();
ds.Tables.Add(t1);
ds.Tables.Add(t2);

SqlDataAdapater.TableMappings.Add("tableA","tableA");
SqlDataAdapater.TableMappings.Add("tableB","tableB");

SqlDataAdapater.Fill(ds);
wangsaokui 2004-05-05
  • 打赏
  • 举报
回复
哦!我好像明白了,你的结果集没有分开是吧?所以没有办法分开填充
楼主,是这个意思吗?
wangsaokui 2004-05-05
  • 打赏
  • 举报
回复
很显然,Fill(DataSet, TableName)这样的方法是不行的,因为我返回了多个表结果???

DA.Fill(DS,"your_define_table1")
DA.Fill(DS,"your_define_table2")
DA.Fill(DS,"your_define_table3")
DA.Fill(DS,"your_define_table4")
......

为什么说不行呢,你每个结果集对应一个datatable(在dataset中的)
可能我没有明白你的意思。
chxljtt 2004-05-05
  • 打赏
  • 举报
回复
楼主可以查询多个表,返回综合结果,怎么做!!谢谢!1
CloneCenter 2004-05-05
  • 打赏
  • 举报
回复
我现在是在程序执行完后,重新定义 Tables 的名称,如 Tables(0).TableName = 'MyApple',有没有人有新的办法呢?

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧