2017年计算机三级数据库辅导:两种不同的数据库的检索

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/08 11:53:41 计算机等级考试
2017年计算机三级数据库辅导:两种不同的数据库的检索
2017年计算机三级数据库辅导:两种不同的数据库的检索计算机等级考试

  对数据库中的数据索引,有两种方式,即分别通过数据适配器DataAdapter或者数据阅读器DataReader将数据读取出来放在控件中显示出来或进行处理,一般DataReader配合DataCommand使用,主要是对DataReader实例化。
使用数据适配器DataAdapter读取数据示例:

protected void Button1_Click(object sender, EventArgs e)
{
string ConnectionString =
"Data Source=localhost Integrated Security=SSPI;
Database=student;connect Timeout=30;Pooling=true;";
//使用windows登陆
SqlConnection conn = new SqlConnection(ConnectionString);
//创建连接对象conn
SqlDataAdapter da=new SqlDataAdapter("select * from student-info",conn);
//创建一个数据适配器对象da,用于读取student中的数据表student-info;
DataSet ds = new DataSet();//创建数据集ds;
conn.Open();//打开连接
da.Fill(ds);
//将检索中的数据填充到ds数据集中
conn.Close();//关闭连接
this.ListBox1.DataSource = ds;
//设置控件listbox1的数据源
this.ListBox1.DataTextField = "stud_name";
//设置控件listbox要显示的文本
this.ListBox1.DataBind();
//通过databind方法将数据绑定到控件 }
使用数据适配器DataReader读取数据示例:

protected void Button2_Click(object sender, EventArgs e)
{
string ConnectionString
= "Data Source=localhost Integrated Security=SSPI;
Database=student;connect Timeout=30;Pooling=true;";
//使用windows登陆
SqlConnection conn = new SqlConnection(ConnectionString);
//创建连接对象conn
SqlCommand comm = new SqlCommand("select * from student-info", conn);
//创建通用命令器对象comm,用于读取student中的数据表student-info;
conn.Open();//打开连接
SqlDataReader dr = comm.ExecuteReader();
//通过实例化创建dr数据阅读器;
this.ListBox2.DataSource = dr;//设置控件listbox1的数据源
this.ListBox2.DataTextField = "stud_name";//设置控件listbox要显示的文本
this.ListBox2.DataBind();//通过databind方法将数据绑定到控件
conn.Close(); }
从以上两种不同的数据读取方式可以看出,DataAdapter用来读取数据时需要建立数据集来保存读取出来的 数据,而DataReader对数据进行检索时,采用的是单向数据流的形式读取数据,两者比较,由于DataAdapter不涉及数据结构的操作和处理,所以在读取数据速度时,要比DataAdapter快。

DataAdapter一般用于数据量比较小的数据库或其他形式的 数据源,DataReaderr用于数据量相对比较大的数据库,DataReaderr是顺序阅读,速度很快,据说要快30倍以上,但是DataReader读数据的时候是要占用连接的,而DataSet是不用的。计算机等级考试