asp.net中读取数据库的两种方式

在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上。

Visual Basic
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
C#
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方法,关闭数据序链接。

Visual Basic
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
C#
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();
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值