数据库的检索(20)

简介:
对数据库中的数据索引,有两种方式,即分别通过数据适配器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是不用的。


本文转自shenzhoulong  51CTO博客,原文链接:http://blog.51cto.com/shenzhoulong/317099,如需转载请自行联系原作者
相关文章
|
3月前
|
机器学习/深度学习 存储 自然语言处理
LangChain-22 Text Embedding 续接21节 文本切分后 对文本进行embedding向量化处理 后续可保存到向量数据库后进行检索 从而扩展大模型的能力
LangChain-22 Text Embedding 续接21节 文本切分后 对文本进行embedding向量化处理 后续可保存到向量数据库后进行检索 从而扩展大模型的能力
71 0
|
6月前
|
自然语言处理 数据库 计算机视觉
数据库ADB-PG问题之向量检索特点和应用场景如何解决
数据库ADB-PG问题之向量检索特点和应用场景如何解决
|
8月前
|
存储 机器学习/深度学习 人工智能
RAG:AI大模型联合向量数据库和 Llama-index,助力检索增强生成技术
RAG:AI大模型联合向量数据库和 Llama-index,助力检索增强生成技术
RAG:AI大模型联合向量数据库和 Llama-index,助力检索增强生成技术
|
8月前
|
缓存 关系型数据库 MySQL
关系型数据库数据检索效率
【5月更文挑战第17天】
116 2
|
8月前
|
存储 算法 数据库
矢量数据库在图像识别与检索中的应用实践
【4月更文挑战第30天】本文探讨了矢量数据库在图像识别与检索中的应用,通过特征提取(如SIFT、SURF)、编码和相似度度量实现快速识别。在图像检索流程中,经过预处理、特征提取和编码后,矢量数据库用于查询相似特征,排序后展示给用户。实际案例显示,矢量数据库能提升电商平台的商品图像搜索效率和用户体验。随着技术发展,这一领域应用前景广阔。
|
8月前
|
存储 机器学习/深度学习 自然语言处理
Yuan2.0大模型,联合向量数据库和Llama-index,助力检索增强生成技术
本文将以Yuan2.0最新发布的Februa模型为例进行测试验证,用更小规模的模型达到更好的效果。
|
8月前
|
存储 数据库连接 数据库
数据存储与检索:Python 与数据库的交互
在当今的数据驱动世界中,有效地存储和检索数据是至关重要的。Python 作为一种强大的编程语言,提供了多种方式与数据库进行交互,使得处理和管理数据变得更加便捷。在本文中,我们将探讨 Python 与数据库交互的基本概念和技术,包括使用 Python 的数据库驱动程序、连接数据库、执行查询和操作数据等。
|
8月前
|
SQL Oracle 关系型数据库
SQL CREATE INDEX 语句- 提高数据库检索效率的关键步骤
SQL CREATE INDEX 语句用于在表中创建索引。 索引用于比其他方式更快地从数据库中检索数据。用户无法看到索引,它们只是用于加速搜索/查询。 注意: 使用索引更新表比不使用索引更新表需要更多的时间(因为索引也需要更新)。因此,只在经常进行搜索的列上创建索引。
92 5
|
SQL 关系型数据库 MySQL
数据库教程:项目4 MySQL数据表的检索总结
MySQL数据库 “数据表的检索总结” 习题示例,包含源码,能建立起对于数据表的检索的基本概念
140 0
|
SQL 存储 关系型数据库
【数据库原理及应用】MySQL数据表的检索
MySQL数据表的检索的基本语句
235 0