需要一次一张遍历SQL表行(表太大无法使用adapter.Fill)我很容易通过SmallSQLServer2005表读取这样的内容:stringcmdText="select*frommyTable";SqlDataAdapter适配器=newSqlDataAdapter(cmdText,connection);DataTable表=newDataTable();适配器。填充(表格);不幸的是,这种方法似乎将整个表加载到内存中,这根本不适用于我正在使用的大表。我希望能够一次一行地遍历表,因此一次只有一行存储在内存中。有点像:foreach(DataRowrowinrowIteratorObject){//使用该行做一些事情//当前行超出范围并且不再在内存中}类似于如何使用StreamReader处理文本文件的一行一次,而不是读取所有文本文件。有谁知道对表行执行此操作的方法(或者,如果我找错了树,另一种解决方案)?您应该使用DataReader:联系。打开();使用(varreader=command.ExecuteReader()){varindexOfColumn1=reader.GetOrdinal(“Column1”);varindexOfColumn2=reader.GetOrdinal("Column2");varindexOfColumn3=reader.GetOrdinal("Column3");while(reader.Read()){varvalue1=reader.GetValue(indexOfColumn1);varvalue2=reader.GetValue(indexOfColumn2);varvalue3=reader.GetValue(indexOfColumn3);//现在,做你想做的事}}connection.Close();}}只需使用SqlDataReader。以上就是C#学习教程:需要逐条遍历SQL表行(表太大不能用adapter.Fill)。如果对您有用,需要进一步了解C#学习教程,希望您多多关注—本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
