最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
使用DataReader高效地访问数据库
时间:2022-06-30 10:19:27 编辑:袖梨 来源:一聚教程网
DataReader是一个抽象类,因此不能直接实例化,要通过Command对象的ExecuteReader方法来建立。
下面是个例子:
private void Page_Load(object sender, System.EventArgs e)
{
SqlConnection Conn = new SqlConnection("server=.;database=northwind;uid=sa;pwd=chengbo;");
SqlCommand Comm = new SqlCommand("SELECT EmployeeID, LastName, BirthDate FROM Employees", Conn);
try
{
Conn.Open();
SqlDataReader reader = Comm.ExecuteReader();
while(reader.Read())
{
//此处使用序数索引器
Response.Write("
" + reader[0] + " " + reader[1] + " " + reader[2] + "
");}
reader.Close();
}
catch(SqlException ex)
{
Response.Write(ex.Message);
}
finally
{
Conn.Close();
}
}
代码中有灰色背景的地方使用的是序数索引器,还可以使用列名索引器:
Response.Write("
" + reader["EmployeeID"] + " " + reader["LastName"] + " " + reader["BirthDate"] + "
");此外,还可以使用类型访问方法:
Response.Write("
" + reader.GetSqlInt32(0).ToString() + " " + reader.GetSqlString(1).ToString() + " " + reader.GetSqlDateTime(2).ToString() + "
");三种方法最终的结果都一样,但是哪种方法性能更好,速度更快呢?
答案是
类型访问 > 序数索引器 > 列名索引器
序数索引是通过列的序数来访问列值的,这种方法不必从行中查找列,而是直接跳到指定的列中进行访问,因而比较省资源,速度较快。
相关文章
- 光遇12.23每日任务怎么做 光遇12月23日每日任务做法攻略 12-23
- 光遇12.23大蜡烛在哪里 光遇12月23日大蜡烛位置攻略 12-23
- 光遇12.23免费魔法有什么 光遇12月23日免费魔法收集攻略 12-23
- 《流放之路2》寻找熔炉任务攻略分享 12-23
- 《流放之路2》德雷文打法技巧分享 12-23
- 《流放之路2》永恒裁判者德雷文具体位置介绍 12-23