ADO从数据库中获取单个值

LongRain_CQ 2010-05-10 10:15:06
有时候, 我们需要从某个表中取一个特定的数据出来, 而返回记录只有一行且只有一个字段.
比如: SELECT [sNAME] FROM [tUSER] WHERE [sID]="080321"
SELECT [iTOTAL] FROM [tSTOCK]

如果先打开记录集, 然后取第一个记录第一个字段的值这个方式可以达到要求.
但这种方法速度很慢, 而且打开记录集也需要耗费较多的系统资源.只为取一个值而要打开一个记录集, 又慢又浪费.

在ACCESS中有直接访问数据库的函数,完成上面的功能就这样写:
=DLOOKUP("[sName]","[tUSER]","[sID]='080321'")
=DMAX("[iTOTAL]","[tSTOCK]")
这样的速度会非常的快.

那么用VC+ADO, 有什么方法能在最短时间里占最少资源完成上述要求?

敬请大虾们指教.
...全文
142 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
tanwei1002 2010-05-11
  • 打赏
  • 举报
回复
top 1 可以吗
o_yale_o 2010-05-11
  • 打赏
  • 举报
回复
慢点快点对我来说无关痛痒
如果这点慢你都在乎
你就不应该用数据库(数据库都不用当然就可以避免ADO的慢了)
一条晚起的虫 2010-05-11
  • 打赏
  • 举报
回复
// TOP 1 ?
向立天 2010-05-11
  • 打赏
  • 举报
回复
这种需求可以写个储存过程来调用吧
qiangorqiang 2010-05-11
  • 打赏
  • 举报
回复
如果只取一条就在select里面加top语句。
ppkele 2010-05-11
  • 打赏
  • 举报
回复
打开记录集再取其中的字段,如果在记录集比较少的情况下也不至于太慢吧,不过楼主的这个想法也值得讨论,学习
zyq5945 2010-05-11
  • 打赏
  • 举报
回复
ADO的话都是解析记录集的吧。查询的记录多了记录集才会很大。
xidiancjw 2010-05-11
  • 打赏
  • 举报
回复
学习了,帮顶!
码无边 2010-05-11
  • 打赏
  • 举报
回复
ssss
康斯坦汀 2010-05-11
  • 打赏
  • 举报
回复
ADO只是供VB,ASP这类脚本语言使用的,当然不能满足你的要求。
OLE DB+自己写函数可以做到你的要求。需要了解ATL。
qiangorqiang 2010-05-11
  • 打赏
  • 举报
回复
SqlCommand.ExecuteScalar也不一定效率高,他只是返回第一行和第一列。象这种请款关键要考虑的是尽量查出比较少的数据。(比如通过主键精确定位、top等)
LongRain_CQ 2010-05-11
  • 打赏
  • 举报
回复
存储过程的方式是可以的, 用参数传递返回值.速度非常快.
但是程序中可能会经常使用这种情况, 那就可能会建很多个存储过程.
打开记录集的耗费是很大的, 哪怕返回的是个空记录集.

至于说速度要不要在意的问题.
如果真的不需要的话, 网络上流行那么多的SQL优化的文章我就不知道是做什么用的了.
要不然, 微软又何必在ADO.net中加入SqlCommand.ExecuteScalar.
LongRain_CQ 2010-05-10
  • 打赏
  • 举报
回复
在ADO.net中:
SqlCommand.ExecuteScalar方法也可以做到.
但在ADO中呢?
内容如下:
ado.net 概述
ado.net 的设计目标
ado.net 结构
.net 数据提供程序
ado.net dataset
为 .net 数据提供程序编写通用代码
ado.net 示例应用程序
使用.net数据提供程序访问数据
使用 ado.net 连接到数据源
执行命令
使用datareader检索数据
将存储过程用于命令
数据库获取单个
数据库获取blob
执行数据库操作和修改数据
从sql server以xml形式获取数据
从dataadapter填充 dataset
使用dataadapter和dataset更新数据库
向dataset添加现有约束
设置datatable和datacolumn映射
将参数用于dataadapter
输入和输出参数及返回
自动生成的命令
使用dataadapter 事件
数据库获取架构信息
执行事务
.net数据提供程序的代码访问安全性
创建和使用 dataset
创建 dataset
向 dataset 添加 datatable
添加表间关系
导航表间关系
将 dataset 与现有数据一起使用
合并 dataset 内容
复制 dataset 内容
使用 dataset 事件
使用类型化的 dataset
xml 和 dataset
diffgram
从 xml 加载 dataset
以 xml 数据形式编写 dataset
从 xml 加载 dataset 架构信息
以xml架构(xsd)形式编写dataset架构信息
使 dataset 与 xmldatadocument 同步
嵌套的 datarelation
从xml架构(xsd)生成dataset关系结构
将xml架构(xsd)约束映射到dataset 约束
从xml架构(xsd)生成dataset关系
了解约束和关系之间的相互关系
从xml推断dataset关系结构
创建和使用数据表
创建数据表
定义数据表的架构
在数据表操作数据
创建和使用dataview
创建dataview
使用dataview对数据排序和筛选
使用dataview查看数据
使用dataview修改数据
使用dataview事件
使用dataviewmanager设置默认表视图据
ado.net访问ado记录集或记录
ado.net方案示例
检索“标识”或“自动编号”
开放式并发
从 xml web services 使用 dataset
查询结果分页
实现.net数据提供程序
.net 数据提供程序实现入门
实现连接
实现命令
实现 datareader
实现 dataadapter
示例 .net 数据提供程序
数据集
数据集介绍
用于创建数据集的visual studio工具
用组件设计器创建类型化数据集
用表达式创建数据集列
将表添加到现有数据集
将现有类型化数据集添加到窗体或组件
将非类型化数据集添加到窗体或组件
演练:将数据源表映射到数据集表
数据适配器
数据适配器介绍
数据适配器命令的参数
数据适配器的表映射
创建数据适配器
为数据适配器配置参数
将数据源列映射到数据集数据表列
预览数据适配器的结果
数据连接
sqlconnection 概述
sqlcommand 概述
通过 ADO.NET 访问数据 ADO.NET 概述 ADO.NET 的设计目标:讨论创建 ADO.NET 的动机和设计目标。 ADO.NET 结构:提供 ADO.NET 结构和组件的概述。 .NET 数据提供程序:提供有关随 ADO.NET 提供的 .NET 数据提供程序和 .NET 数据提供程序的设计的概述。 ADO.NET DataSet:提供有关 DataSet 设计和组件的概述。 为 .NET 数据提供程序编写通用代码:提供有关如何使用 ADO.NET 所提供的通用接口来编写一组对于任何 .NET 数据提供程序都将运行的代码的信息。 ADO.NET 示例应用程序:提供 ADO.NET 应用程序的示例,该示例从数据库检索数据并将其返回到控制台。   使用 .NET 数据提供程序访问数据 使用 ADO.NET 连接到数据源:描述 ADO.NET Connection 对象,并说明如何使用它来连接到数据源。 执行命令:描述 ADO.NET Command 对象,并说明如何使用它来对数据源执行查询和命令。 使用 DataReader 检索数据:描述 ADO.NET DataReader 对象,并说明如何使用它从数据源返回结果流。 将存储过程用于命令:描述如何使用 Command 对象来调用存储过程,并提供有关发送和检索参数的信息。 从数据库获取单个:描述如何使用 Command 从数据库查询返回单个。 从数据库获取 BLOB :描述如何使用 DataReader 从数据库返回二进制大对象 (BLOB)。 执行数据库操作和修改数据:描述如何使用 Command 对数据源发出 INSERT、UPDATE 和 DELETE 命令,以及如何执行目录操作(如创建或更改表)。 从 SQL Server 以 XML 形式获取数据:描述如何使用 Command 以 XmlReader 形式返回 SQL Server FOR XML 查询的结果。 从 DataAdapter 填充 DataSet:描述如何通过 DataAdapter 来使用表、列和行填充 DataSet。 使用 DataAdapter 和 DataSet 更新数据库:描述如何使用 DataAdapter 将对 DataSet 数据的更改解析回数据源。 向 DataSet 添加现有约束:描述如何从数据源填充 DataSet 的约束(如主键列的唯一约束)。 设置 DataTable 和 DataColumn 映射:描述如何使用表和列映射来提供从数据源返回的列的应用程序特定名称。 将参数用于 DataAdapter:描述如何将参数用于 DataAdapter 的命令属性(包括如何将 DataSet 列的内容映射到命令参数)。 输入和输出参数及返回:描述如何将 DataSet 表列的内容映射到 DataAdapter 命令属性的输入和输出参数(包括如何从存储过程检索返回)。 自动生成的命令:描述如何使用 CommandBuilder 为具有单个表 SELECT 命令的 DataAdapter 自动生成 INSERT、UPDATE 和 DELETE 命令。 使用 DataAdapter 事件:描述 DataAdapter 事件并说明如何使用这些事件。 从数据库获取架构信息:解释如何从数据源获取架构信息,如数据库或目录表的列表。 执行事务:解释如何使用 Connection 和 Transaction 对象对数据源执行事务。 .NET 数据提供程序的代码访问安全性:描述随 .NET 框架提供的 .NET 数据提供程序的可用附加代码访问安全权限,并说明如何确定特定权限是否可用于所运行的代码。   创建和使用 DataSet 创建 DataSet:描述创建 DataSet 实例的语法。 向 DataSet 添加 DataTable:描述如何创建表和列并将其添加到 DataSet 。 添加表间关系:描述如何创建 DataSet 表之间的关系。 导航表间关系:描述如何使用 DataSet 表之间的关系来返回具有父子关系的子行或父行。 将 DataSet 与现有数据一起使用"描述如何使用 DataAdapter 将 DataSet 的更改解析回数据源。 合并 DataSet 内容:描述如何将一个 DataSet、DataTable 或 DataRow 数组的内容并入另一个 DataSet。 复制 DataSet 内容:描述如何创建可包含架构和指定数据的 DataSet 副本。 使用 DataSet 事件:描述 DataSet 的事件并说明如何使用这些事件。 使用类型化的 DataSet:描述类型化 DataSet 并说明如何创建和使用类型化 DataSet。   XML 和 DataSet:描述 DataSet 如何与作为数据源的 XML 进行交互(包括以 XML 数据的形式加载和保持 DataSet 的内容)。 DiffGram:提供有关 DiffGram 的详细信息,DiffGram 是一种用于读写 DataSet 内容的 XML 格式。 从 XML 加载 DataSet:讨论在从 XML 文档加载 DataSet 内容时需考虑的不同选项。 以 XML 数据形式编写 DataSet:讨论如何以 XML 数据的形式生成 DataSet 的内容以及可使用的不同 XML 格式选项。 从 XML 加载 DataSet 架构信息:讨论用于从 XML 加载 DataSet 架构的 DataSet 方法。 以 XML 架构 (XSD) 形式编写 DataSet 架构信息:讨论 XML 架构的用途以及如何从 DataSet 生成 XML 架构。 使 DataSet 与 XmlDataDocument 同步:讨论同步访问单个数据集的关系和分层视图的 .NET 框架的可用功能,并解释如何在 DataSet 和 XmlDataDocument 之间创建同步关系。 嵌套的 DataRelation:讨论嵌套 DataRelation 对象在以 XML 数据形式表示 DataSet 内容时的重要性,并描述如何创建这些对象。 从 XML 架构 (XSD) 生成 DataSet 关系结构:描述从 XML 架构定义语言 (XSD) 架构创建的 DataSet 的关系结构(即架构)。 将 XML 架构 (XSD) 约束映射到 DataSet 约束:描述用于在 DataSet 创建唯一和外键约束的 XML 架构元素。 从 XML 架构 (XSD) 生成 DataSet 关系:描述用于在 DataSet 各表列间创建关系的 XML 架构元素。 了解约束和关系之间的相互关系:描述当使用 XML 架构元素在 DataSet 创建约束时如何隐式地创建关系。   从 XML 推断 DataSet 关系结构:描述在从 XML 元素进行推断时所创建的 DataSet 的结果关系结构(即架构)。   创建和使用数据表:描述如何创建和自定义 DataTable 对象。 创建数据表:说明如何创建 DataTable 并将其添至 DataSet。 定义数据表的架构:提供有关创建和使用 DataColumn 对象和约束的信息。 在数据表操作数据:说明如何添加、修改和删除表的数据。说明如何使用 DataTable 事件来检查对表数据的更改。   创建和使用 DataView:描述如何创建 DataTable 数据的动态视图,这些视图通常用于数据绑定应用程序。 创建 DataView:描述如何为 DataTable 创建 DataView。 使用 DataView 对数据排序和筛选:描述如何设置 DataView 的属性,以按照特定筛选条件返回数据行的子集或以特定排序顺序返回数据。 使用 DataView 查看数据:描述如何访问 DataView 的内容,在 DataView 查找特定的数据行,以及基于父子关系创建数据的视图。 使用 DataView 修改数据:描述如何通过 DataView 修改基础 DataTable 的数据(包括启用或禁用更新)。 使用 DataView 事件:描述如何使用 ListChanged 事件接收在 DataView 的内容或顺序得到更新时发出的通知。 使用 DataViewManager 设置默认表视图:描述如何使用 DataViewManager 来管理 DataSet 每个表的 DataView 设置。   从 ADO.NET 访问 ADO 记录集或记录:描述如何使用 OleDbDataAdapter 从 ADO 记录或记录集填充 DataSet。 ADO.NET 方案示例:提供数据识别应用程序的常见编程方案的示例,并使用 ADO.NET 提供这些方案的解决方案。 检索“标识”或“自动编号”:提供一个特定示例,它将为 Microsoft SQL Server 表的“标识”(Identity) 字段所生成的以及 Microsoft Access 表的“自动编号”(Autonumber) 字段映射到表插入行的列。 开放式并发:描述开放式并发模型,并提供有关如何使用 ADO.NET 测试是否存在开放式并发冲突的示例。 从 XML Web services 使用 DataSet:提供一个 XML Web services 的示例,该示例以 DataSet 的形式返回数据源的数据,另外还接收更新的 DataSet 并将更改解析回数据源。 查询结果分页:提供有关以数据页的形式查看查询结果的示例。   实现 .NET 数据提供程序:描述如何为数据存储区创建自定义 .NET 数据提供程序,并为您提供模板代码。 .NET 数据提供程序实现入门:为定义 .NET 数据提供程序提供信息和建议,其包括有关可用于实现的接口的说明和有关为提供程序创建命名空间的信息。 实现连接:描述连接的特性,并说明如何为 .NET 数据提供程序实现您自己的连接。 实现命令:描述命令的特性,并说明如何为 .NET 数据提供程序实现您自己的命令。 实现 DataReader:描述 DataReader 的特性,并说明如何为 .NET 数据提供程序实现您自己的 DataReader。 实现 DataAdapter:描述 DataAdapter 的特性,并说明如何为 .NET 数据提供程序实现您自己的 DataAdapter。 示例 .NET 数据提供程序:包含 .NET 数据提供程序的示例实现。   数据集 数据集介绍:提供什么是 ADO.NET 数据集、如何对它们进行类型化或非类型化、它们的用途及结构的概述。 用于创建数据集的 Visual Studio 工具:描述 Visual Studio 提供了哪些允许创建数据集的功能,以及在何时选用什么样的工具。 用组件设计器创建类型化数据集:描述在窗体或组件工作时如何创建数据集。 用表达式创建数据集列:描述如何在数据集表定义基于计算或其他表达式(而不是直接基于数据源的数据)的列。 将表添加到现有数据集:描述如何在以前创建的类型化数据集创建新数据表。 将现有类型化数据集添加到窗体或组件:描述如何在窗体或组件上创建数据集的实例。 将非类型化数据集添加到窗体或组件:描述如何创建无关联架构的数据集。 演练:将数据源表映射到数据集表:描述如何基于另一个架构,使用数据适配器表和列映射从数据库将数据加载到数据集。 数据适配器 数据适配器介绍:提供有关数据适配器的定义、用途和结构的概述。 数据适配器命令的参数:描述适配器在运行时传递给 SQL 语句或存储过程的参数的结构和用途。 数据适配器的表映射:描述如何在源表和数据集表之间映射列名的选项。 创建数据适配器:列出在 Visual Studio 创建数据适配器的各种方法。 为数据适配器配置参数:解释如何创建将在运行时传递给数据适配器命令的参数并设置其属性。 将数据源列映射到数据集数据表列:提供有关如何建立和修改源表和数据集表的列名之间映射的说明。 预览数据适配器的结果:提供有关测试数据适配器填充数据集的方式的说明。 数据连接 与 ADO 的早期版本和其他数据访问组件相比,ADO.NET 提供了若干好处。这些好处分成以下几个类别: 互操作性 ADO.NET 应用程序可以利用 XML 的灵活性和广泛接受性。由于 XML 是用于在网络传输数据集的格式,因此可以读取 XML 格式的任何组件都可以处理数据。实际上,接收组件根本不必是 ADO.NET 组件:传输组件可以只是将数据集传输给其目标,而不考虑接收组件的实现方式。目标组件可以是 Visual Studio 应用程序或无论用什么工具实现的其他任何应用程序。唯一的要求是接收组件能够读取 XML。作为一项工业标准,XML 正是在谨记这种互操作性的情况下设计的。 可维护性 在已部署系统的生存期,适度的更改是可能的,但由于十分困难,所以很少尝试进行实质的结构更改。这是很遗憾的,因为在事件的自然过程,这种实质上的更改会变得很有必要。例如,当已部署的应用程序越来越受用户欢迎时,增加的性能负荷可能需要进行结构更改。随着已部署的应用程序服务器上的性能负荷的增长,系统资源会变得不足,并且响应时间或吞吐量会受到影响。面对该问题,软件设计者可以选择将服务器的业务逻辑处理和用户界面处理划分到单独计算机上的单独层上。实际上,应用程序服务器层将替换为两层,缓解了系统资源缺乏。 该问题并不是要设计三层应用程序。相反,它是要在应用程序部署以后增加层数。如果原始应用程序使用数据集以 ADO.NET 实现,则该转换很容易进行。请记住,当用两层替换单个层时,将安排这两层交换信息。由于这些层可以通过 XML 格式的数据集传输数据,所以通讯相对较容易。 可编程性 Visual Studio ADO.NET 数据组件以不同方式封装数据访问功能,帮助您加快编程速度并减少犯错几率。例如,数据命令提取生成和执行 SQL 语句或存储过程的任务。 同样,由这些工具生成的 ADO.NET 数据类导致类型化数据集。这又使您可以通过已声明类型的编程访问数据。例如,请考虑下面这行代码(它访问未声明类型的数据集内的数据成员): ' Visual Basic If TotalCost > DataSet1.Tables("Customers").Rows(i)("AvailableCredit") Then // C# if (TotalCost > DataSet1.Tables["Customers"].Rows[i]["AvailableCredit"]) { } 访问已声明类型的数据集内的数据成员的等效代码行如下所示: ' Visual Basic If TotalCost > DataSet1.Customers("Jones").AvailableCredit Then // C# if(TotalCost > DataSet1.Customers("Jones").AvailableCredit) { } 已声明类型的数据集的代码更易阅读。因为提供了语句结束,所以它还便于编写。例如,“AvailableCredit”在完成以下语句的选择列表: IF TotalCost > Customer. 最后,已声明类型的数据集的代码更安全,原因在于它提供对类型的编译时检查。例如,假定 AvailableCredit 表达为货币。如果程序员误向 AvailableCredit 分配了字符串,则环境会在编译时向程序员报告该错误。当使用未声明类型的数据集时,程序员直到运行时才会知道该错误。 有关类型化数据集和非类型化数据集的更多信息,请参阅数据集介绍。 性能 对于不连接的应用程序,ADO.NET 数据库提供的性能优于 ADO 不连接的记录集。当使用 COM 封送在层间传输不连接的记录集时,会因将记录集内的转换为 COM 可识别的数据类型而导致显著的处理开销。在 ADO.NET ,这种数据类型转换则没有必要。 可伸缩性 因为 Web 可以极大增加对数据的需求,所以可缩放性变得很关键。Internet 应用程序具有无限的潜在用户供应。尽管应用程序可以很好地为十几个用户服务,但它可能不能向成百上千个(或几百万个)用户提供同样好的服务。使用数据库锁和数据库连接之类资源的应用程序不能很好地为大量用户服务,因为用户对这些有限资源的需求最终将超出其供应。 ADO.NET 通过鼓励程序员节省有限资源来实现可缩放性。由于所有 ADO.NET 应用程序都使用对数据的不连接访问,因此它不会在较长持续时间内保留数据库锁或活动数据库连接。
Excel VBA与数据库整合应用范例精讲(范例文件代码) 内容简介   《Excel VBA 数据库整合应用范例精讲》用180个实例介绍了利用Excel VBA来操作数据库(包括Access、SQL Server和FoxPro)的实用方法和技巧。   全书共11章。第1~6章是利用Excel VBA操作Access数据库的实例;第7~8章是利用Excel VBA操作SQL Server数据库和FoxPro数据库的方法和技巧实例;第9~10章是将工作簿当作数据库以及将文本文件当作数据库进行操作的方法和技巧实例。第11章以一个具有较大使用价的固定资产管理系统为案例,详细介绍Excel VBA开发管理系统的过程。每个实例分析透彻,代码完整,技巧全面,使用得心应手。 目录 第1章 动态创建Access数据库和数据表 实例1-1 利用DAO创建数据库和数据表 实例1-2 利用ADOX创建数据库和数据表 实例1-3 利用SQL语句创建数据库和数据表 实例1-4 在已有的数据库创建数据表(DAO) 实例1-5 在已有的数据库创建数据表(ADOX) 实例1-6 在已有的数据库创建数据表(SQL,Command对象) 实例1-7 在已有的数据库创建数据表(SQL,Recordset对象) 实例1-8 利用Access对象创建数据库和数据表 实例1-9 利用Access对象在已有的数据库创建数据表 实例1-10 利用工作表数据创建数据表(ADOX) 实例1-11 利用工作表数据创建数据表(ADO+SQL) 实例1-12 利用工作表数据创建数据表(DAO) 实例1-13 利用已有的数据表创建新数据表(ADO) 实例1-14 利用已有的数据表创建新数据表(DAO) 实例1-15 利用已有的数据表创建新数据表(Access) 第2章 获取Access数据库信息 实例2-1 检查数据表是否存在(ADO) 实例2-2 检查数据表是否存在(ADOX) 实例2-3 检查数据表是否存在(DAO) 实例2-4 检查数据表是否存在(Access) 实例2-5 获取数据库所有表的名称和类型(ADO) 实例2-6 获取数据库所有表的名称和类型(ADOX) 实例2-7 获取数据库所有的表名称(DAO) 实例2-8 获取数据库所有数据表名称(ADO) 实例2-9 获取数据库所有数据表名称(ADOX) 实例2-10 获取数据库所有数据表名称(DAO) 实例2-11 获取数据库所有数据表名称(Access) 实例2-12 检查某字段是否存在(ADO) 实例2-13 检查某字段是否存在(ADOX) 实例2-14 检查某字段是否存在(DAO) 实例2-15 检查某字段是否存在(Access) 实例2-16 获取数据库某数据表的所有字段信息(ADO) 实例2-17 获取数据库某数据表的所有字段信息(ADOX) 实例2-18 获取数据库某数据表的所有字段信息(DAO) 实例2-19 获取数据库某数据表的所有字段信息(Access) 实例2-20 获取数据库的所有查询信息(ADOX) 实例2-21 获取数据库的所有查询信息(DAO) 实例2-22 获取数据库的模式信息(OpenSchema) 实例2-23 获取表的创建日期和最后更新日期(ADOX) 实例2-24 获取表的创建日期和最后更新日期(DAO) 第3章 查询获取Access数据库记录数据 实例3-1 将数据库记录数据全部导入到Excel工作表(ADO,之一) 实例3-2 将数据库记录数据全部导入到Excel工作表(ADO,之二) 实例3-3 将数据库记录数据全部导入到Excel工作表(ADO,之三) 实例3-4 将数据库记录数据全部导入到Excel工作表(DAO,之一) 实例3-5 将数据库记录数据全部导入到Excel工作表(DAO,之二) 实例3-6 将数据库记录数据全部导入到Excel工作表(QueryTable集合) 实例3-7 将数据库的某些字段的记录数据导入到Excel工作表(ADO) 实例3-8 将数据库的某些字段记录数据导入到Excel工作表(DAO) 实例3-9 查询前面的若干条记录(全部字段)(TOP) 实例3-10 查询前面的若干条记录(部分字段)(TOP) 实例3-11 查询不重复的字段记录(DISTINCT) 实例3-12 利用Like运算符进行模糊查询 实例3-13 查询某一区间内的记录(BETWEEN) 实例3-14 查询存在于某个集合里面的记录(IN) 实例3-15 将查询结果进行排序(ORDER BY) 实例3-16 进行复杂条件的查询(WHERE) 实例3-17 利用合计函数进行查询(查询最大和最小) 实例3-18 利用合计函数进行查询(查询合计和平均) 实例3-19 将一个查询结果作为查询条件进行查询 实例3-20 将查询结果进行分组(GROUP BY) 实例3-21 将查询结果进行分组(HAVING) 实例3-22 通过计算列进行查询 实例3-23 使用IS NULL运算符进行查询 实例3-24 使用COUNT函数进行查询 实例3-25 使用FIRST函数与LAST函数查询第一条记录和最后一条记录的字段 实例3-26 使用Parameters参数动态查询记录(DAO):指定单个参数 实例3-27 使用Parameters参数动态查询记录(DAO):指定多个参数 实例3-28 使用Parameters参数动态查询记录(ADO):指定单个参数 实例3-29 使用Parameters参数动态查询记录(ADO):指定多个参数 实例3-30 使用别名查询数据库 实例3-31 将查询结果作为窗体控件的源数据 实例3-32 通过窗体控件查询浏览数据库记录 实例3-33 多表查询(WHERE连接) 实例3-34 多表查询(内连接INNER JOINT) 实例3-35 多表查询(左外连接LEFT OUTER JOINT) 实例3-36 多表查询(右外连接RIGHT OUTER JOINT) 实例3-37 多表查询(子查询WHERE,ANY,SOME) 实例3-38 多表查询(子查询EXISTS,NOT EXISTS) 实例3-39 从两个数据表查询出都存在的记录 实例3-40 从两个数据表查询出只存在于某个数据表的记录 实例3-41 将查询结果生成一个数据表 实例3-42 将查询结果保存为一个XML文件 实例3-43 利用工作表实现记录的分页显示 实例3-44 利用窗体实现记录的分页显示 第4章 编辑Access数据库数据 实例4-1 添加新记录(ADO+AddNew) 实例4-2 添加新记录(ADO+SQL) 实例4-3 添加新记录(DAO+AddNew) 实例4-4 添加新记录(DAO+SQL) 实例4-5 添加新记录(Access+SQL) 实例4-6 修改更新特定记录(ADO+SQL) 实例4-7 修改更新特定记录(DAO+SQL) 实例4-8 修改更新特定记录(Access+SQL) 实例4-9 修改更新全部记录(ADO+SQL) 实例4-10 修改更新全部记录(DAO+SQL) 实例4-11 修改更新全部记录(Access+SQL) 实例4-12 删除特定记录(ADO+SQL) 实例4-13 删除特定记录(DAO+SQL) 实例4-14 删除特定记录(Access+SQL) 实例4-15 删除全部记录(ADO+SQL) 实例4-16 删除全部记录(DAO+SQL) 实例4-17 删除全部记录(Access+SQL) 实例4-18 通过窗体编辑记录 第5章 将Excel工作表数据导入到Access数据库 实例5-1 将整个工作表数据都保存为新Access数据库(Access) 实例5-2 将工作表的某些区域数据保存为新Access数据库(Access) 实例5-3 将工作簿的所有工作表数据分别保存为不同的数据表(Access) 实例5-4 将多个工作簿的某个工作表数据汇总为新Access数据库(Access) 实例5-5 将多个工作簿的某个工作表数据保存为不同的数据表(Access) 实例5-6 将工作表数据保存到已有的Access数据库(循环方式)(ADO) 实例5-7 将工作表数据保存到已有的Access数据库(循环方式)(DAO) 实例5-8 将工作表数据保存到已有的Access数据库(数组方式)(ADO) 实例5-9 将工作表数据保存到已有的Access数据库(数组方式)(DAO) 实例5-10 将工作簿的所有工作表数据分别保存为不同的数据表(ADO) 实例5-11 将工作簿的所有工作表数据分别保存为不同的数据表(DAO) 第6章 操作Access数据表 实例6-1 打开数据库和数据表(GetObject函数) 实例6-2 打开数据库和数据表(CreateObject函数) 实例6-3 删除数据表(ADO) 实例6-4 删除数据表(ADOX) 实例6-5 删除数据表(DAO+DELETE) 实例6-6 删除数据表(DAO+SQL) 实例6-7 删除数据表(Access) 实例6-8 为数据表增加字段(ADO) 实例6-9 为数据表增加字段(ADOX) 实例6-10 为数据表增加字段(DAO) 实例6-11 为数据表增加字段(Access) 实例6-12 删除字段(ADO) 实例6-13 删除字段(ADOX) 实例6-14 删除字段(DAO) 实例6-15 删除字段(Access) 实例6-16 改变字段的类型(ADO) 实例6-17 改变字段的类型(DAO) 实例6-18 改变字段的类型(Access) 实例6-19 改变字段的长度(ADO) 实例6-20 改变字段的长度(DAO) 实例6-21 改变字段的长度(Access) 实例6-22 重命名数据表(Access) 实例6-23 复制数据表(Access) 实例6-24 复制数据表(ADO) 实例6-25 复制数据表(DAO) 实例6-26 通过窗体维护数据库 第7章 操作SQL Server数据库 实例7-1 判断SQL Server数据库是否存在(ADO) 实例7-2 检查数据表是否存在(ADOX) 实例7-3 创建新的SQL Server数据库和数据表(ADO) 实例7-4 在已有的SQL Server数据库创建数据表(ADO) 实例7-5 从SQL Server数据库服务器删除数据库ADO) 实例7-6 从SQL Server数据库删除数据表(ADO) 实例7-7 将SQL Server数据库的数据导入到Excel工作表(ADO) 实例7-8 将SQL Server数据库的数据导入到Excel工作表(DAO) 实例7-9 查询获取SQL Server数据库的数据(ADO) 实例7-10 查询获取SQL Server数据库的数据(DAO) 实例7-11 将工作表数据导入到SQL Server数据库ADO) 实例7-12 向SQL Server数据库添加记录的一般方法 实例7-13 将SQL Server数据库转换为Access数据库 实例7-14 将Access数据库转换为SQL Server数据库 第8章 操作FoxPro数据库 实例8-1 将FoxPro数据库全部数据导入到Excel工作表 实例8-2 查询获取FoxPro数据库数据 实例8-3 将Excel工作表数据保存到FoxPro数据库 实例8-4 判断FoxPro数据库的字段是否存在 实例8-5 获取FoxPro数据库的字段信息 第9章 将Excel工作簿当作数据库来操作 实例9-1 从工作簿的某个工作表查询获取数据(ADO) 实例9-2 从工作簿的全部工作表查询获取数据(ADO) 实例9-3 利用DAO从工作表查询数据 实例9-4 查询其他工作簿的数据(ADO) 实例9-5 获取其他工作簿的工作表名称清单(ADOX) 实例9-6 利用ADO对工作表数据进行多重排序 实例9-7 利用ADO按照字符的长度对数据进行排序 实例9-8 比较两张表,将两个表相同的行数据抓取出来 实例9-9 比较两张表,将只存在于某个表的行数据抓取出来 实例9-10 删除工作表数据区域内的所有空行 第10章 将文本文件当作数据库来操作 实例10-1 利用ADO导入文本文件的全部内容 实例10-2 利用DAO导入文本文件的全部内容 实例10-3 利用ADO导入文本文件的部分内容 实例10-4 利用DAO导入文本文件的部分内容 实例10-5 利用ADO获取文本文件的行数和列数 实例10-6 利用ADO将超过65536行的文本文件数据导入到Excel工作表 实例10-7 将工作表全部数据保存为文本文件(SaveAs) 实例10-8 将工作表全部数据保存为文本文件(循环) 实例10-9 将数据库数据导出为文本文件 实例10-10 将文本文件保存为Access数据库(Access) 实例10-11 将文本文件保存为Access数据库ADO+ADOX) 第11章 Excel VBA开发数据库管理系统 11.1 固定资产管理系统的总体设计 11.1.1 固定资产管理系统功能模块 11.1.2 固定资产管理系统数据库和数据表的设计 11.1.3 设计系统工作簿 11.1.4 设计系统的自定义菜单 11.1.5 引用对象库 11.2 系统管理模块设计 11.2.1 用户名和密码的保存 11.2.2 “用户登录”窗口结构设计 11.2.3 “用户登录”窗体程序代码设计 11.2.4 “修改用户名”窗体结构设计 11.2.5 “修改用户名”窗体的程序代码设计 11.2.6 “修改密码”窗体结构设计 11.2.7 “修改密码”窗体的程序代码设计 11.3 基础资料管理模块设计 11.4 固定资产日常管理模块设计 11.4.1 固定资产日常管理窗体的结构设计 11.4.2 固定资产日常管理窗体的程序代码设计 11.4.3 “固定资产查询”窗体的结构设计 11.4.4 “固定资产查询窗体”的程序代码设计 11.4.5 固定资产日常管理模块的应用 11.5 报表输出模块设计 11.5.1 固定资产折旧计算方法 11.5.2 生成固定资产卡片子模块的设计 11.5.3 生成统计报表子模块的设计 11.5.4 生成固定资产折旧表子模块的设计 11.5.5 编制折旧费用分配表子模块的设计 11.6 系统菜单转换模块的设计 11.6.1 恢复Excel系统菜单 11.6.2 恢复固定资产管理系统自定义菜单 11.7 为工作簿指定Open和BeforeClose事件 11.7.1 为工作簿指定Open事件 11.7.2 为工作簿指定BeforeClose事件
Excel VBA与数据库整合应用范例精讲(书及范例源代码) 内容简介   《Excel VBA 数据库整合应用范例精讲》用180个实例介绍了利用Excel VBA来操作数据库(包括Access、SQL Server和FoxPro)的实用方法和技巧。   全书共11章。第1~6章是利用Excel VBA操作Access数据库的实例;第7~8章是利用Excel VBA操作SQL Server数据库和FoxPro数据库的方法和技巧实例;第9~10章是将工作簿当作数据库以及将文本文件当作数据库进行操作的方法和技巧实例。第11章以一个具有较大使用价的固定资产管理系统为案例,详细介绍Excel VBA开发管理系统的过程。每个实例分析透彻,代码完整,技巧全面,使用得心应手。 目录 第1章 动态创建Access数据库和数据表 实例1-1 利用DAO创建数据库和数据表 实例1-2 利用ADOX创建数据库和数据表 实例1-3 利用SQL语句创建数据库和数据表 实例1-4 在已有的数据库创建数据表(DAO) 实例1-5 在已有的数据库创建数据表(ADOX) 实例1-6 在已有的数据库创建数据表(SQL,Command对象) 实例1-7 在已有的数据库创建数据表(SQL,Recordset对象) 实例1-8 利用Access对象创建数据库和数据表 实例1-9 利用Access对象在已有的数据库创建数据表 实例1-10 利用工作表数据创建数据表(ADOX) 实例1-11 利用工作表数据创建数据表(ADO+SQL) 实例1-12 利用工作表数据创建数据表(DAO) 实例1-13 利用已有的数据表创建新数据表(ADO) 实例1-14 利用已有的数据表创建新数据表(DAO) 实例1-15 利用已有的数据表创建新数据表(Access) 第2章 获取Access数据库信息 实例2-1 检查数据表是否存在(ADO) 实例2-2 检查数据表是否存在(ADOX) 实例2-3 检查数据表是否存在(DAO) 实例2-4 检查数据表是否存在(Access) 实例2-5 获取数据库所有表的名称和类型(ADO) 实例2-6 获取数据库所有表的名称和类型(ADOX) 实例2-7 获取数据库所有的表名称(DAO) 实例2-8 获取数据库所有数据表名称(ADO) 实例2-9 获取数据库所有数据表名称(ADOX) 实例2-10 获取数据库所有数据表名称(DAO) 实例2-11 获取数据库所有数据表名称(Access) 实例2-12 检查某字段是否存在(ADO) 实例2-13 检查某字段是否存在(ADOX) 实例2-14 检查某字段是否存在(DAO) 实例2-15 检查某字段是否存在(Access) 实例2-16 获取数据库某数据表的所有字段信息(ADO) 实例2-17 获取数据库某数据表的所有字段信息(ADOX) 实例2-18 获取数据库某数据表的所有字段信息(DAO) 实例2-19 获取数据库某数据表的所有字段信息(Access) 实例2-20 获取数据库的所有查询信息(ADOX) 实例2-21 获取数据库的所有查询信息(DAO) 实例2-22 获取数据库的模式信息(OpenSchema) 实例2-23 获取表的创建日期和最后更新日期(ADOX) 实例2-24 获取表的创建日期和最后更新日期(DAO) 第3章 查询获取Access数据库记录数据 实例3-1 将数据库记录数据全部导入到Excel工作表(ADO,之一) 实例3-2 将数据库记录数据全部导入到Excel工作表(ADO,之二) 实例3-3 将数据库记录数据全部导入到Excel工作表(ADO,之三) 实例3-4 将数据库记录数据全部导入到Excel工作表(DAO,之一) 实例3-5 将数据库记录数据全部导入到Excel工作表(DAO,之二) 实例3-6 将数据库记录数据全部导入到Excel工作表(QueryTable集合) 实例3-7 将数据库的某些字段的记录数据导入到Excel工作表(ADO) 实例3-8 将数据库的某些字段记录数据导入到Excel工作表(DAO) 实例3-9 查询前面的若干条记录(全部字段)(TOP) 实例3-10 查询前面的若干条记录(部分字段)(TOP) 实例3-11 查询不重复的字段记录(DISTINCT) 实例3-12 利用Like运算符进行模糊查询 实例3-13 查询某一区间内的记录(BETWEEN) 实例3-14 查询存在于某个集合里面的记录(IN) 实例3-15 将查询结果进行排序(ORDER BY) 实例3-16 进行复杂条件的查询(WHERE) 实例3-17 利用合计函数进行查询(查询最大和最小) 实例3-18 利用合计函数进行查询(查询合计和平均) 实例3-19 将一个查询结果作为查询条件进行查询 实例3-20 将查询结果进行分组(GROUP BY) 实例3-21 将查询结果进行分组(HAVING) 实例3-22 通过计算列进行查询 实例3-23 使用IS NULL运算符进行查询 实例3-24 使用COUNT函数进行查询 实例3-25 使用FIRST函数与LAST函数查询第一条记录和最后一条记录的字段 实例3-26 使用Parameters参数动态查询记录(DAO):指定单个参数 实例3-27 使用Parameters参数动态查询记录(DAO):指定多个参数 实例3-28 使用Parameters参数动态查询记录(ADO):指定单个参数 实例3-29 使用Parameters参数动态查询记录(ADO):指定多个参数 实例3-30 使用别名查询数据库 实例3-31 将查询结果作为窗体控件的源数据 实例3-32 通过窗体控件查询浏览数据库记录 实例3-33 多表查询(WHERE连接) 实例3-34 多表查询(内连接INNER JOINT) 实例3-35 多表查询(左外连接LEFT OUTER JOINT) 实例3-36 多表查询(右外连接RIGHT OUTER JOINT) 实例3-37 多表查询(子查询WHERE,ANY,SOME) 实例3-38 多表查询(子查询EXISTS,NOT EXISTS) 实例3-39 从两个数据表查询出都存在的记录 实例3-40 从两个数据表查询出只存在于某个数据表的记录 实例3-41 将查询结果生成一个数据表 实例3-42 将查询结果保存为一个XML文件 实例3-43 利用工作表实现记录的分页显示 实例3-44 利用窗体实现记录的分页显示 第4章 编辑Access数据库数据 实例4-1 添加新记录(ADO+AddNew) 实例4-2 添加新记录(ADO+SQL) 实例4-3 添加新记录(DAO+AddNew) 实例4-4 添加新记录(DAO+SQL) 实例4-5 添加新记录(Access+SQL) 实例4-6 修改更新特定记录(ADO+SQL) 实例4-7 修改更新特定记录(DAO+SQL) 实例4-8 修改更新特定记录(Access+SQL) 实例4-9 修改更新全部记录(ADO+SQL) 实例4-10 修改更新全部记录(DAO+SQL) 实例4-11 修改更新全部记录(Access+SQL) 实例4-12 删除特定记录(ADO+SQL) 实例4-13 删除特定记录(DAO+SQL) 实例4-14 删除特定记录(Access+SQL) 实例4-15 删除全部记录(ADO+SQL) 实例4-16 删除全部记录(DAO+SQL) 实例4-17 删除全部记录(Access+SQL) 实例4-18 通过窗体编辑记录 第5章 将Excel工作表数据导入到Access数据库 实例5-1 将整个工作表数据都保存为新Access数据库(Access) 实例5-2 将工作表的某些区域数据保存为新Access数据库(Access) 实例5-3 将工作簿的所有工作表数据分别保存为不同的数据表(Access) 实例5-4 将多个工作簿的某个工作表数据汇总为新Access数据库(Access) 实例5-5 将多个工作簿的某个工作表数据保存为不同的数据表(Access) 实例5-6 将工作表数据保存到已有的Access数据库(循环方式)(ADO) 实例5-7 将工作表数据保存到已有的Access数据库(循环方式)(DAO) 实例5-8 将工作表数据保存到已有的Access数据库(数组方式)(ADO) 实例5-9 将工作表数据保存到已有的Access数据库(数组方式)(DAO) 实例5-10 将工作簿的所有工作表数据分别保存为不同的数据表(ADO) 实例5-11 将工作簿的所有工作表数据分别保存为不同的数据表(DAO) 第6章 操作Access数据表 实例6-1 打开数据库和数据表(GetObject函数) 实例6-2 打开数据库和数据表(CreateObject函数) 实例6-3 删除数据表(ADO) 实例6-4 删除数据表(ADOX) 实例6-5 删除数据表(DAO+DELETE) 实例6-6 删除数据表(DAO+SQL) 实例6-7 删除数据表(Access) 实例6-8 为数据表增加字段(ADO) 实例6-9 为数据表增加字段(ADOX) 实例6-10 为数据表增加字段(DAO) 实例6-11 为数据表增加字段(Access) 实例6-12 删除字段(ADO) 实例6-13 删除字段(ADOX) 实例6-14 删除字段(DAO) 实例6-15 删除字段(Access) 实例6-16 改变字段的类型(ADO) 实例6-17 改变字段的类型(DAO) 实例6-18 改变字段的类型(Access) 实例6-19 改变字段的长度(ADO) 实例6-20 改变字段的长度(DAO) 实例6-21 改变字段的长度(Access) 实例6-22 重命名数据表(Access) 实例6-23 复制数据表(Access) 实例6-24 复制数据表(ADO) 实例6-25 复制数据表(DAO) 实例6-26 通过窗体维护数据库 第7章 操作SQL Server数据库 实例7-1 判断SQL Server数据库是否存在(ADO) 实例7-2 检查数据表是否存在(ADOX) 实例7-3 创建新的SQL Server数据库和数据表(ADO) 实例7-4 在已有的SQL Server数据库创建数据表(ADO) 实例7-5 从SQL Server数据库服务器删除数据库ADO) 实例7-6 从SQL Server数据库删除数据表(ADO) 实例7-7 将SQL Server数据库的数据导入到Excel工作表(ADO) 实例7-8 将SQL Server数据库的数据导入到Excel工作表(DAO) 实例7-9 查询获取SQL Server数据库的数据(ADO) 实例7-10 查询获取SQL Server数据库的数据(DAO) 实例7-11 将工作表数据导入到SQL Server数据库ADO) 实例7-12 向SQL Server数据库添加记录的一般方法 实例7-13 将SQL Server数据库转换为Access数据库 实例7-14 将Access数据库转换为SQL Server数据库 第8章 操作FoxPro数据库 实例8-1 将FoxPro数据库全部数据导入到Excel工作表 实例8-2 查询获取FoxPro数据库数据 实例8-3 将Excel工作表数据保存到FoxPro数据库 实例8-4 判断FoxPro数据库的字段是否存在 实例8-5 获取FoxPro数据库的字段信息 第9章 将Excel工作簿当作数据库来操作 实例9-1 从工作簿的某个工作表查询获取数据(ADO) 实例9-2 从工作簿的全部工作表查询获取数据(ADO) 实例9-3 利用DAO从工作表查询数据 实例9-4 查询其他工作簿的数据(ADO) 实例9-5 获取其他工作簿的工作表名称清单(ADOX) 实例9-6 利用ADO对工作表数据进行多重排序 实例9-7 利用ADO按照字符的长度对数据进行排序 实例9-8 比较两张表,将两个表相同的行数据抓取出来 实例9-9 比较两张表,将只存在于某个表的行数据抓取出来 实例9-10 删除工作表数据区域内的所有空行 第10章 将文本文件当作数据库来操作 实例10-1 利用ADO导入文本文件的全部内容 实例10-2 利用DAO导入文本文件的全部内容 实例10-3 利用ADO导入文本文件的部分内容 实例10-4 利用DAO导入文本文件的部分内容 实例10-5 利用ADO获取文本文件的行数和列数 实例10-6 利用ADO将超过65536行的文本文件数据导入到Excel工作表 实例10-7 将工作表全部数据保存为文本文件(SaveAs) 实例10-8 将工作表全部数据保存为文本文件(循环) 实例10-9 将数据库数据导出为文本文件 实例10-10 将文本文件保存为Access数据库(Access) 实例10-11 将文本文件保存为Access数据库ADO+ADOX) 第11章 Excel VBA开发数据库管理系统 11.1 固定资产管理系统的总体设计 11.1.1 固定资产管理系统功能模块 11.1.2 固定资产管理系统数据库和数据表的设计 11.1.3 设计系统工作簿 11.1.4 设计系统的自定义菜单 11.1.5 引用对象库 11.2 系统管理模块设计 11.2.1 用户名和密码的保存 11.2.2 “用户登录”窗口结构设计 11.2.3 “用户登录”窗体程序代码设计 11.2.4 “修改用户名”窗体结构设计 11.2.5 “修改用户名”窗体的程序代码设计 11.2.6 “修改密码”窗体结构设计 11.2.7 “修改密码”窗体的程序代码设计 11.3 基础资料管理模块设计 11.4 固定资产日常管理模块设计 11.4.1 固定资产日常管理窗体的结构设计 11.4.2 固定资产日常管理窗体的程序代码设计 11.4.3 “固定资产查询”窗体的结构设计 11.4.4 “固定资产查询窗体”的程序代码设计 11.4.5 固定资产日常管理模块的应用 11.5 报表输出模块设计 11.5.1 固定资产折旧计算方法 11.5.2 生成固定资产卡片子模块的设计 11.5.3 生成统计报表子模块的设计 11.5.4 生成固定资产折旧表子模块的设计 11.5.5 编制折旧费用分配表子模块的设计 11.6 系统菜单转换模块的设计 11.6.1 恢复Excel系统菜单 11.6.2 恢复固定资产管理系统自定义菜单 11.7 为工作簿指定Open和BeforeClose事件 11.7.1 为工作簿指定Open事件 11.7.2 为工作簿指定BeforeClose事件

4,012

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧