以下是引用lsy在2013-4-19 9:14:00的发言:
测试了三种查找最大号的方法。
第一个最快:
Dim s As String = DataTables("数据字典").Compute("Max(编号)")
DataTables("数据字典").LoadFilter = "编号 = '" & s & "'"
DataTables("数据字典").Load()
第二个似乎稍慢,不明显:
DataTables("数据字典").LoadOrder = "编号 Desc"
DataTables("数据字典").LoadTop = "1"
DataTables("数据字典").Load()
第三个慢的让人烦躁了:
Dim dr As DataRow = DataTables("数据字典").Find("编号 = max(编号)")
DataTables("数据字典").LoadFilter = "编号 = '" & dr("编号") & "'"
DataTables("数据字典").Load()
还是最后一个效率最高:
Dim ld As Long
Dim cmd As New SQLCommand
cmd.CommandText = "Select Max(编号) From {订单}"
ld = cmd.ExecuteScalar()
嵌套MAX測試對FIND不公平吧:
應該這樣試試
Dim s As String = DataTables("数据字典").Compute("Max(编号)")
Dim dr As DataRow = DataTables("数据字典").Find("编号 = '" & s & "'")
DataTables("数据字典").LoadFilter = "[_Identify] = " & dr("_Identify")
DataTables("数据字典").Load()