1 / 4
文档名称:

应用技巧:在数据库中搜索文本.doc

格式:doc   大小:56KB   页数:4页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

应用技巧:在数据库中搜索文本.doc

上传人:小博士 2018/1/1 文件大小:56 KB

下载得到文件列表

应用技巧:在数据库中搜索文本.doc

文档介绍

文档介绍:应用技巧:在数据库中搜索文本>>教育资源库
对于数据库而言,没有可用的搜索工具。事实上,它还没有提供。那么当在数据库中定位字符串时会怎样呢?如果你打开这个数据库,展示在你面前的就是一个应用程序或可能是众多的表和很少的基本工具来搜索这些表或是一个很麻烦的查询界面。这意味着你需要非常了解这个数据库,从而猜到这个字符串在哪或它是否存在。ess数据库中你可以怎样搜索所有的表,然后返回哪些表包含所搜索的字符串。使用强大的Microsoft Access链接技术可以将相同的技术应用于其它的数据库格式。找到一个文本字符串
ess表单(见图1)可以引入到你的数据库中。这个搜索工具会搜索数据库中的每一个表或链接表。这个软件具有以下特点:
ess数据库并链接到所有你希望某个特定用户或用户组搜索的后台表。ess数据库、文本文件和电子数据表,并通过从ODBC到特定驱动到更通用的后台数据库,例如SQL Server或MySQL或Oracle。
然后系统表会被分析,以便我们可以在这个数据库中创建所有的表。
所有这些表都被搜索以查找这些表里包含文本数据的所有字段。在这个过程中,所有数字的、日期的和blob类型数据字段都会被忽略。然后会生成一个SQL语句来查找每个表中的所有文本字段。
然后我们使用记录集对每个表运行这个查询,然后找到和报告任何成功的(第一个)匹配,以便用户知道哪些表含有所查找的字符串。

图1 – 搜索后台数据库中字符串位置的工具
代码
这个搜索工具的所有都在这个搜索按钮之下。这个软件采用的第一个技术是循环Table集合中所有的表(略过Jet系统表和临时表)。
' Establish the phrases to be used for searching from ' the fields on the form. The database file is selected
' using standard VB file controls
Set myDb = CurrentDb ' es
For i = 0 To - 1
Set MyTable = (i)
tableName =
If Left(tableName, 4) <> MSys And Left(tableName, 4) <> usys _
And Left(tableName, 1) <> ~ Then
现在这个软件打开一个记录集并循环每个表中的所有字段来确认哪些字段是文本字段。在这个过程中,我们在搜索每个表时要使用的过滤是重置。
' NoFields =
Set rstSearchTable = ( _
tableName, dbOpenSnapshot)
Fields - 1
Set myField = (j)
fldStr =
fldType =