.net怎么读取完一个表的数据,再次循环读取里面的数据,第一次是随机抽取里面表的数据,读取一条历史表就存在一条数据勒
解决方案
2
一般不这样做,需要什么数据就读取什么数据。假如表里面记录很多的话,一次读取全部数据会比较慢。至于读取的数据无论是DataTable还是List<T>,都可以用foreach进行迭代处理。
2
dateset,或LIST 循环的话用foreach或for都可以实现的 例如 foreach(var item in temp){}
3
获取MaxID,[0,maxId]中取随机数,然后按照ID读数据不就行了
3
本人的理解是,LZ希望使用随机排序读取一张表的全部记录?
SELECT [ID] FROM [TABLE] ORDER BY newid()
public void ReadData(string connectionString) { using (var connection = new SqlConnection(connectionString)) { var command = new SqlCommand("SELECT * FROM [TABLE] ORDER BY newid()", connection); var reader = command.ExecuteReader(); while (reader.Read()) { //...... } reader.Close(); } }
10
select ROW_NUMBER()over(order by NEWID()) rid, * from 表名 order by rid
通过上面的语句,打乱了顺序,
然后 装在到datatable中,
原因是是打乱顺序的,所以你可以从第一条开始获取,
这样既保证了随机获取,也保证了不会重复获取。
获取到最后一行只需要判断一下datatable的总行数就行了。