求助~ 解决2个Dataset追加数据问题。。。折腾死了

jupiterabc 2018-04-03 02:25:14
有一个dataset中的两个table,表结构都一致。两个表都是手动创建的列。
一个是myds.tables("linshi") ,是由Linq查询得出的一个表,由于查询条件很多,导致for each遍历会特别慢,所以按照10条ID来进行查询,然后循环所有的ID。每次查询出来的结果,需要放到另一个 myds.tables("allData") 表中。然后清空linshi表再次查询。

现在的问题是,linq查询没问题,第一次查询的结果也已经放入了linshi表,但怎么才能把临时表的内容在每次清空linshi表之前放入allData表?是用追加的方式来放入数据。

我的代码过程只能看到console输出的是表结构没有问题,也已经创建了表,但就是数据过不去。

另外,linq查询每次10个ID怎么循环会比较好一些? 放入20个ID查就会变很慢。每组数据大概有400多ID

帮忙指点下~~


'allData表在load时已经创建
Dim Dt_allData As DataTable = New DataTable("allData")
Dim mydr_alldata As DataRow
Try
For i = 0 To myds.Tables("linshi").Rows.Count - 1
mydr_alldata = Dt_allData.NewRow()
mydr_alldata("f_screenings") = myds.Tables("linshi").Rows(i).Item("f_screenings").ToString
mydr_alldata("toubi_win") = myds.Tables("linshi").Rows(i).Item("toubi_win").ToString
mydr_alldata("toubi_falt") = myds.Tables("linshi").Rows(i).Item("toubi_falt").ToString
mydr_alldata("toubi_negative") = myds.Tables("linshi").Rows(i).Item("toubi_negative").ToString
mydr_alldata("w3") = myds.Tables("linshi").Rows(i).Item("w3").ToString
mydr_alldata("w1") = myds.Tables("linshi").Rows(i).Item("w1").ToString
mydr_alldata("w0") = myds.Tables("linshi").Rows(i).Item("w0").ToString
mydr_alldata("wfan") = myds.Tables("linshi").Rows(i).Item("wfan").ToString
mydr_alldata("cLinfo") = myds.Tables("linshi").Rows(i).Item("cLinfo").ToString
mydr_alldata("L3") = myds.Tables("linshi").Rows(i).Item("L3").ToString
mydr_alldata("L1") = myds.Tables("linshi").Rows(i).Item("L1").ToString
mydr_alldata("L0") = myds.Tables("linshi").Rows(i).Item("L0").ToString
mydr_alldata("Lfan") = myds.Tables("linshi").Rows(i).Item("Lfan").ToString
mydr_alldata("Linfo") = myds.Tables("linshi").Rows(i).Item("Linfo").ToString
mydr_alldata("bet3") = myds.Tables("linshi").Rows(i).Item("bet3").ToString
mydr_alldata("bet1") = myds.Tables("linshi").Rows(i).Item("bet1").ToString
mydr_alldata("bet0") = myds.Tables("linshi").Rows(i).Item("bet0").ToString
mydr_alldata("betfan") = myds.Tables("linshi").Rows(i).Item("betfan").ToString
mydr_alldata("betinfo") = myds.Tables("linshi").Rows(i).Item("betinfo").ToString
mydr_alldata("a993") = myds.Tables("linshi").Rows(i).Item("a993").ToString
mydr_alldata("a991") = myds.Tables("linshi").Rows(i).Item("a991").ToString
mydr_alldata("a990") = myds.Tables("linshi").Rows(i).Item("a990").ToString
mydr_alldata("a99fan") = myds.Tables("linshi").Rows(i).Item("a99fan").ToString
mydr_alldata("a99info") = myds.Tables("linshi").Rows(i).Item("a99info").ToString
Dt_allData.Rows.Add(mydr_alldata)
Next
myds.Tables.Add(Dt_allData)
DataGridView1.DataSource = myds.Tables("allData")
DataGridView1.Refresh()
Catch ex As Exception

End Try

...全文
455 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
你的 “alldata” 表的数据是从 “linshi” 表中循环查询放进去的? 为什么不在 linq查询 得出 “linshi” 表的数据时直接同步填充 “alldata” 表?先填充 “linshi” 表 ,再循环 到 “alldata” 表,多此一举嘛,我看你的循环里面也没有做数据判断和修改啊,完全没有必要。本身循环遍历的效率就很低,和 SQL 相比,那是天差地别。 如果,你确实有什么功能需要循环遍历的话,建议用 DataRow 来复制数据。
simonmao313 2018-04-23
  • 打赏
  • 举报
回复
建议用SQl语句!

16,553

社区成员

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

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