SqlDataReader和SqlDataAdapter+DataSet 区别

SqlDataReaderSqlDataAdapter+DataSet  区别

http://space.itpub.net/26481450/viewspace-735928

一,SqlDataReader //基于连接,只读访问适合数据量较小。

SqlDataAdapter //基于非连接,适于数据量较大时,可以另行修改,最后再把修改结果返回给数据库。要求资源也大一点

 

二,SqlDataAdapter 读取数据后将数据集放入DataSet DataSet 的数据存在本地客服机内存。

 

三,SqlDataReader返回的是一个数据读写器,只能一条条的读,操作起来不灵活,一般在只读的时候才用到。

SqlDataAdapter返回的是数据集或者表,可以对其中的数据作任意操作

 

四,写法上不同:

SqlDatReader执行前须先打开数据库,然后须生成一个COMMAND对象。再由COMMAND.EXECUTEREADER()方法赋值。完成后须手动关闭联接。

SqlCommand cmd = new SqlCommand("select * from stu", conn);

conn.Open();

SqlDataReader rdr = cmd.ExecuteReader();

。。。。。

conn.close();

SqlDataAdapter 执行时,自动打数据库,且不用CommandExecuteReader方法进行赋值,完成后自动断开联接。

SqlDataAdapter adptr = new SqlDataAdapter(sql, conn);

DataSet ds = new DataSet();

adptr.Fill(ds, "stu");

 

实例:

1,运用SqlDataReader 读取数据

class DataReader

{

static void Main()

{

string str = "server=localhost;uid=sa;pwd=123;database=northwind";

SqlConnection conn = new SqlConnection(str);

SqlCommand cmd = new SqlCommand("select * from stu", conn);

conn.Open();

SqlDataReader rdr = cmd.ExecuteReader();

DataTable table=new Datable();

table.Load(rdr);

rdr.Close();

conn.Close();

}

 

 

2,运用SqlDataAdapter +DataSet 读取修改数据

class SqlDataAdapter

{

static void Main()

{

string str ="server=localhost;uid=sa;pwd=123;database=northwind";

SqlConnection conn = new SqlConnection(str);

string sql = "select * from stu";

SqlDataAdapter adptr = new SqlDataAdapter(sql, conn);//Adepter对象

DataSet ds = new DataSet();//DataSet对象

adptr.Fill(ds, "stu");//填充DataSet 并为当前表命名

DataTableReader rdr = ds.CreateDataReader();

while (rdr.Read())//读取表中数据

{

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

{

Console.Write(rdr.GetName(i) + "\t" + rdr.GetValue(i) +"\t");

}

Console.WriteLine();

}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我明白了您的问题。这是一个关于如何连接到 SQL Server 数据库,并在 ASP.NET 页面上使用 GridView 控件显示数据的问题。 首先,您需要在代码中创建一个连接字符串,以便 ASP.NET 应用程序可以连接到 SQL Server 数据库。以下是一个示例连接字符串,您需要将其替换为您自己的连接字符串: ``` string connectionString = "Data Source=myServerAddress;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;"; ``` 然后,您可以使用 SqlCommand 和 SqlDataReader 对象来执行 SQL 查询并读取结果,如下所示: ``` string queryString = "SELECT * FROM Students"; using (SqlConnection connection = new SqlConnection(connectionString)) { SqlCommand command = new SqlCommand(queryString, connection); connection.Open(); SqlDataReader reader = command.ExecuteReader(); GridView1.DataSource = reader; GridView1.DataBind(); reader.Close(); } ``` 另一种方法是使用 SqlDataAdapterDataSet 对象来填充数据集并将其绑定到 GridView 控件,如下所示: ``` string queryString = "SELECT * FROM Students"; using (SqlConnection connection = new SqlConnection(connectionString)) { SqlDataAdapter adapter = new SqlDataAdapter(queryString, connection); DataSet dataSet = new DataSet(); adapter.Fill(dataSet, "Students"); GridView1.DataSource = dataSet.Tables["Students"]; GridView1.DataBind(); } ``` 请注意,您需要在页面上添加一个 GridView 控件,并将其绑定到数据源,如下所示: ``` <asp:GridView ID="GridView1" runat="server"></asp:GridView> ``` 希望这能够帮助您解决问题。如果您有任何其他问题,请随时问我。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值