通过ExecuteReader方法获取数据库多行多列数据

转载请声明出处:https://blog.csdn.net/cyzhah/article/details/82560927

直接上主要代码好了,下面会给出注释方便大家学习借鉴  ~ 3 ~ 

string constr = "Data Source = steve-pc ; Initial Catalog = itcast2014; Integrated Security = True";

using (SqlConnection con = new SqlConnerction(constr))

{

string sql = "select * from Tblpeson";

using (SqlCommand cmd = new SqlCommand(sql,con))

{

                   con.Open();

                   //通过调用ExecuteReader()方法,将给定的sql语句在服务器端执行

                   //执行完毕后 ,服务器端就已经查询出了数据。但是数据是保存在数据库服务器的内存

                    //当中,并没有返回给应用程序。只是返回给应用程序一个reader对象,这个对象就是用来获取数据的对象。

                    using (SqlDataReader reader = cmd.ExecuteReader())

                    {

                              //接下来就要通过reader对象一条一条获取数据

                              //1、在获取数据之前,先判断一下本次执行查询后,是否查询到数据

                               if (reader. HasRows)  //如果有数据,则为true,否则为false

                               {

                                       //2、如果有数据,那么接下来就要一条一条获取数据

                                       //每次获取数据之前,都要先调用reader.Read()方法,向后移动一条数据,如果成功移动到了某条数据上,则返回true,否则返回false

                                      while( reader.Read())

                                        {

                                                 //获取当前reader指定的数据

                                                 //reader.FieldCount,可以获取当前查询语句查询出的列的个数

                                                 for(int i = 0;i < reader.FieldCount;i++)

                                                 {

                                                         Console.Write(reader[i] + "      ");

                                                  }

                                                   Console.WriteLine();

                                        }

                               }

                               else

                               {

                                                Console.Write("没有数据");  

                                }

                    }

}

}

你可能感兴趣的:(C#)