asp.net中读取数据库数据的方法

1. 使用SqlDataSource

(1)使用SqlDataReader

 1 string connStr = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString;
 2 string selectString = "select id from info";
 3 
 4 SqlDataSource source = new SqlDataSource(connStr, selectString);
 5 source.DataSourceMode = SqlDataSourceMode.DataReader;
 6 SqlDataReader sqlDataReader = (SqlDataReader)source.Select(DataSourceSelectArguments.Empty);
 7 while (sqlDataReader.Read())
 8 {
 9     int id = (int)sqlDataReader[0];
10     //等同于:
11     //int id = (int)sqlDataReader["id"];
12 }

(2)使用DataView

 1 string connStr = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString;
 2 string selectString = "select id from info";
 3 
 4 SqlDataSource source = new SqlDataSource(connStr, selectString);
 5 source.DataSourceMode = SqlDataSourceMode.DataSet;
 6 DataView dv = (DataView)source.Select(DataSourceSelectArguments.Empty);
 7 foreach (DataRowView drv in dv)
 8 {
 9     int id = (int)drv[0];
10     //int id = (int)drv["id"];
11 }

参考:

SqlDataSource.Select 方法

如何读取DATAVIEW的每一行?


2.使用SqlConnection和SqlCommand

(1)使用SqlDataReader

 1 string connStr = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString;
 2 string selectString = "select id from info";
 3 using (SqlConnection conn = new SqlConnection(connStr))
 4 {
 5     SqlCommand cmd = new SqlCommand(selectString, conn);
 6     conn.Open();
 7     SqlDataReader sqlDataReader = cmd.ExecuteReader();
 8     while (sqlDataReader.Read())
 9     {
10         int id = (int)sqlDataReader["id"];
11         //int id = (int)sqlDataReader[0];
12     }
13     sqlDataReader.Close();
14     cmd.Dispose();
15 }

(2)使用SqlDataAdapter

 1 string connStr = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString;
 2 string selectString = "select id from info";
 3 using (SqlConnection conn = new SqlConnection(connStr))
 4 {
 5     SqlDataAdapter adapter = new SqlDataAdapter(selectString, conn);
 6     DataSet ds = new DataSet();
 7     adapter.Fill(ds, "infotable");
 8     foreach (DataRow dr in ds.Tables["infotable"].Rows)
 9     {
10         int id = (int)dr["id"];
11         //int id = (int)dr[0];
12     }
13 }

参考:

C#读取DataSet中的数据 

C#数据库操作的三种经典用法 

谭总《DOT NET程序设计》视频 "ADO.net 2.avi"

posted on 2010-10-04 19:43  lbsx  阅读(668)  评论(0编辑  收藏  举报