将结果集从OleDbDataReader转换为列表考虑连接到SQLServer2008数据库并运行SQLSELECT语句的Winforms应用程序:stringmyConnectionString="Provider=SQLOLEDB;DataSource=hermes;初始目录=qcvaluestest;集成安全性=SSPI;”;stringmySelectQuery="SELECTtop500name,finalconcfromqvalueswhererowidbetween0and25000;";OleDbConnectionmyConnection=newOleDbConnection(myConnectionString);OleDb=CommandmyCommandOleDbCommand(mySelectQuery,myConnection);myCommand.Connection.Open();OleDbDataReadermyReader=myCommand.ExecuteReader(CommandBehavior.CloseConnection);如何将查询结果读入列表?假设您已经定义了一个类,例如classMyData{publicstringName{get;设置;}公共intFinalConc{得到;set;}//或任何类型}您将遍历查询结果以加载列表。列表列表=新列表();while(myReader.Read()){MyData数据=newMyData();data.Name=(string)myReader["name"];data.FinalConc=(int)myReader["finalconc"];//或者任何类型应该是list.Add(data);}//使用列表如果你只需要一个给定的字段,你可以放弃类定义而只需要一个列表,其中T是你要保留的任何字段的类型。你可以试试这个(为了方便而调整):publicclassPerson{publicstringName{get;放;}publicintAge{得到;放;}}列表dbItems=newList();while(myReader.Read()){PersonobjPerson=newPerson();objPerson.Name=Convert.ToString(myReader["姓名"]);objPerson.Age=Convert.ToInt32(myReader["Age"]);dbItems.Add(objPerson);什么是列表?你有一个带有name和finalconc属性的类设置吗?假设你这样做,看起来像这样:publicclassQueryResult{publicstringName{get;放;}//不确定finalconc的类型是什么,所以这里只使用stringpublicstringFinalConc{get;放;那么你会做这样的事情:以上是C#学习教程:将结果集从OleDbDataReader转换为列表共享所有内容。如果对大家有用,需要详细了解C#学习教程,希望大家多多关注——varqueryResults=newList();使用(varmyReader=myCommand.ExecuteReader()){while(myReader.Read()){queryResults。Add(newQueryResult{Name=myReader.GetString(myReader.GetOrdinal("name")),FinalConc=myReader.GetString(myReader.GetOrdinal("finalconc"))});}}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如有转载请注明出处:
