1. SqlDataReader返回的是一个数据读写器,只能一条条的读,操作起来不灵活。
SqlDataAdapter返回的是数据集,读取数据后将数据集放入DataSet,DataSet 的数据存在本地客服机内存,
可以对其中的数据作任意操作。
2. SqlDataReader执行前须先打开数据库,然后须生成一个COMMAND对象;再由COMMAND.EXECUTEREADER()方法赋值;
完成后须手动关闭联接。
SqlDataAdapter 执行时,自动打数据库,完成后自动断开联接。
运用SqlDataReader 读取数据
string str = "server=localhost;uid=sa;pwd=123;database=northwind";
SqlConnection con = new SqlConnection(str);
SqlCommand cmd = new SqlCommand("select * from stu", con);
con.Open(); //打开数据库连接
SqlDataReader dr = cmd.ExecuteReader();
if(dr.Read()) //开始读取数据
{
String str_id = (string)dr[“information_id”];
}
con.Close(); //关闭数据库连接
运用SqlDataAdapter +DataSet 读取数据
string str = "server=localhost;uid=sa;pwd=123;database=northwind";
SqlConnection con = new SqlConnection(str);
SqlCommand cmd = new SqlCommand("select * from stu", con);
SqlDataAdapter da = new SqlDataAdapter(cmd); //Adepter对象
DataSet ds = new DataSet(); //DataSet对象
da.Fill(ds);
String str_id=(string)ds.Tables[0].Rows[0][“…”];