日期:2014-05-18  浏览次数:20488 次

Table中的记录可不可以排序啊,要怎么写?
Dim strConn As String = "Provider=Microsoft.Jet.OLEDB.4.0;data source=" & Server.MapPath("~/App_Data\***.mdb")
  Dim oConn As OleDbConnection = New OleDbConnection(strConn)
  Dim strSQL1 As String = "select * from 000636"
  Dim myDA As OleDbDataAdapter = New OleDbDataAdapter(strSQL1, oConn)
  Dim cb As New OleDbCommandBuilder(myDA) 
  Dim dsTemp2 As New DataSet
  myDA.Fill(dsTemp2, "xls_2") 

  Dim r As DataRow = dsTemp2.Tables("xls_2").NewRow
  r("日期") = dsTemp.Tables(0).Rows(0).Item(0)
  dsTemp2.Tables(0).Rows.Add(r)

像上面这两条代码 我加了一条记录到表中。
  myDA.Update(dsTemp2, "xls_2")
然后更新数据库
如果加了5000条记录 以NewRow-->Update-->NewRow-->Update-->(5000次)-->NewRow-->Update 这样网页大概要5分钟的时间
如果加了5000条记录 以NewRow-->NewRow-->NewRow-->NewRow-->(5000次)-->Update 这样网页大概要20秒的时间

第二种方法快,但是数据库的记录会乱,我也不知道为什么会这样???!!!!
我想给dsTemp2.Tables("xls_2")中的记录来个排序,按时间排序 
谁帮我补一下代码 我就是希望数据库的记录按我添加记录时的排序 一条一条的排好

------解决方案--------------------
你吧他加好后,用dsTemp2.tables[0].defaultview.filter就可以实现排序再输出,何必那么纠结
------解决方案--------------------
数据库的Table本来并没有顺序这种东西,
有了index和order才有了顺序
------解决方案--------------------
大批量数据操作使用SqlBulkCopy 
defaultview.Sort可以排序
------解决方案--------------------
其实可以在那个select中的用order by