天天看点

ASP.NET中 C#访问数据库用三种方式显示数据表

第一种方式:使用DataReader从数据库中每次提取一条数据,用循环遍历表

               下面是我写的一个例子: 

           string linkstr=

@"DataSource=.\SQLEXPRESS;AttachDbFilename=C:\Users\Administrator\Desktop\netSQL\Book Sample.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";   //连接字符串

            SqlConnection conn = new SqlConnection(linkstr);    //定义连接

            string sql = "select * from students";                         //定义sql语句

            SqlCommand comm = new SqlCommand(sql, conn);//定义并实例化命令

            SqlDataReader reader = comm.ExecuteReader();       //定义DataReader

            Response.Write("<table cellspacing='0'>");

            while (reader.Read())

            {

                Response.Write("<tr>");

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

                    Response.Write("<td style='border:solid 1px Gray;'>" +

                       reader[i].ToString() + "</td>");

                Response.Write("</tr>");

            }

            Response.Write("</table >");//将DataRead读取的内容用循环一条条写入网页,形成一个数据表

            reader.Close(); conn.Close();//关闭连接,释放资源

第二种方式:使用DataTable从数据库中读取一个数据表,用循环输出这个表

(代码中的数据适配器DataAdapter经常和DataSet配合使用,作为DataSet 和数据源之间的桥接器以便检索和保存数据。而DataSet由一组DataTable对象组成,它具备存储多个数据表以及表间关系的能力。数据表存储在DataTable对象中,表间的关系用DataRelation对象表示。)

  string linkstr =

@"DataSource=.\SQLEXPRESS;AttachDbFilename=C:\Users\Administrator\Desktop\netSQL\BookSample.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";   //连接字符串

            string sql = "select * from students";                              //定义sql语句

            SqlConnection conn = new SqlConnection(linkstr);    //定义并实例化连接

            SqlCommand comm = new SqlCommand(sql, conn); //定义并实例化命令

            SqlDataAdapter ada = new SqlDataAdapter(comm); //定义数据适配器

            DataTable dt = new DataTable();

            ada.Fill(dt);

            Response.Write("<table cellspacing='0'>");

            for (int i = 0; i < dt.Rows.Count; i++)

            {

                Response.Write("<tr>");

                for (int j = 0; j < dt.Columns.Count; j++)

                    Response.Write("<td style='border:solid 1px Gray;'>" +

                       dt.Rows[i][j].ToString() + "</td>");        

                Response.Write("</tr>");

            }

            Response.Write("</table >");//循环输出DataTable中每一行每一列的内容

            conn.Close();

第三种方式:使用代码连接数据库,填充数据表DataTable,再为GridView控件绑定数据源

string linkstr = @"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\Administrator\Desktop\netSQL\BookSample.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";   //连接字符串

            string sql = "select * from students";

            SqlConnection conn = new SqlConnection(linkstr);

            SqlCommand comm = new SqlCommand(sql, conn);

            SqlDataAdapter ada = new SqlDataAdapter(comm);

            DataTable dt = new DataTable();

            ada.Fill(dt);

            conn.Close();

            GridView1.DataSource = dt;

            GridView1.DataBind();//为GridView绑定数据源(首先得在网页添加一个GridView控件)