在asp.net中,读取数据库中的数据可以使用DataReader和DataSet 2种方式,
两者的差异如下:
使用Dataset对象读取数据大致需要以下5个步骤:
(1)建立数据库链接,可以选用SQLConnection或者01edbConnection。
(2)将查询保存在SQLDataAdapter或者oledbDataAdapter对象中。
(3)使用DataAdapter对象的Fill方法将数据填充到DataSet中的DataTable中。
(4)为DataTable对象建立DataView对象以显示数据,这一步可以省略。
(5)将DataView或者DataSet绑定到Server Control上。
Public Function SelectRows( _ ByVal dataSet As DataSet, ByVal connectionString As String, _ ByVal queryString As String) As DataSet Using connection As New SqlConnection(connectionString) Dim adapter As New SqlDataAdapter() adapter.SelectCommand = New SqlCommand( _ queryString, connection) adapter.Fill(dataSet) Return dataSet End Using End Function
private static DataSet SelectRows(DataSet dataset, string connectionString,string queryString) { using (SqlConnection connection = new SqlConnection(connectionString)) { SqlDataAdapter adapter = new SqlDataAdapter(); adapter.SelectCommand = new SqlCommand( queryString, connection); adapter.Fill(dataset); return dataset; } }
SqlConnection myConnection = new SqlConnection("server=.;database=WebShoppe;user id =sa;password=;");
SqlDataAdapter orderdet = new SqlDataAdapter("select CustID from CustomerDetails", myConnection);
DataSet dscust=new DataSet();
DataTable dt = new DataTable();
DataRow[] dr= new DataRow[100];
ArrayList customers = new ArrayList();
orderdet.Fill(dscust, "CustomerDetails");
dt=dscust.Tables["CustomerDetails"];
dr=dt.Select();
for(int i=0;i<dr.Length;i++)
{
customers.Add(dr[i]["CustID"].ToString());
}
ddlcid.DataSource=customers;
ddlcid.DataBind();
使用DataReader读取数据大致需要以下6个步骤:
(1)建立数据库链接,可以选SQLConnection或者OLedbConnection。
(2)使用Connection对象的open方法打开数据库链接。
(3)将查询保存在SQLCommand或者OledbCommand对象中。
(4)调用Command对象的ExecuteReader方法,将数据读入DataReader对象中。
(5)调用DataReader的Read或者Get方法读取—笔数据,以便显不。
(6)调用Connection对象的Close方法,关闭数据序链接。
Private Sub ReadOrderData(ByVal connectionString As String) Dim queryString As String = _ "SELECT OrderID, CustomerID FROM dbo.Orders;" Using connection As New SqlConnection(connectionString) Dim command As New SqlCommand(queryString, connection) connection.Open() Dim reader As SqlDataReader = command.ExecuteReader() ' Call Read before accessing data. While reader.Read() Console.WriteLine(String.Format("{0}, {1}", _ reader(0), reader(1))) End While ' Call Close when done reading. reader.Close() End Using End Sub
private static void ReadOrderData(string connectionString) { string queryString = "SELECT OrderID, CustomerID FROM dbo.Orders;"; using (SqlConnection connection = new SqlConnection(connectionString)) { SqlCommand command = new SqlCommand(queryString, connection); connection.Open(); SqlDataReader reader = command.ExecuteReader(); // Call Read before accessing data. while (reader.Read()) { Console.WriteLine(String.Format("{0}, {1}", reader[0], reader[1])); } // Call Close when done reading. reader.Close(); } }