既然是多方式模糊查询,那么必须具备几个条件:
1、首先有查询方式的选择框,还有查询需要的关键字的输入框;
2、模糊查询结果不是一条记录,那么必须将查询出的所有结果在列表框控件中显示出来;
3、点击列表框中的一条记录,在文本框中显示这条记录的详细内容。
我比较喜欢用MSFlexGrid控件显示查询结果,下面给你一个比较实用的范例:
Private Sub Command1_Click() '查询
If Combo1Text = "" Then
MsgBox "你没有选择查询方式,请选择!", 16, "错误!"
Exit Sub
End If
If Text1Text = "" Then
MsgBox "你没有填写关键字,请填写!", 16, "错误!"
Exit Sub
End If
If Combo1Text = "查询条件1" Then
strSQL = "Select From 数据表名 字段名1 Like '%" & Text1Text & "%'"
ElseIf Combo1Text = "查询条件2" Then
strSQL = "Select From 数据表名 Where 字段名2 Like '%" & Text1Text & "%'"
ElseIf Combo1Text = "查询条件3" Then
strSQL = "Select From 数据表名 Where 字段名3 Like '%" & Text1Text & "%'"
End If
Call SJK(db) '数据库连接函数
RSOpen strSQL, db, 2, 2
Do While Not RSEOF
SST = SST + 1
RSMoveNext
Loop
RSClose
Set RS = Nothing
If SST = 0 Then
MsgBox "你没有你查询的记录!", 16, "无记录!"
With MSFlexGrid1
Cols = 3
Rows = 1
TextMatrix(0, 0) = " 序号"
TextMatrix(0, 1) = " 姓名"
ColWidth(0) = 1000
ColWidth(1) = 1000
ColWidth(2) = 0
End With
dbClose
Set db = Nothing
Exit Sub
End If
With MSFlexGrid1
Cols = 3
Rows = SST + 1
TextMatrix(0, 0) = " 序号"
TextMatrix(0, 1) = " 姓名"
ColWidth(0) = 1000
ColWidth(1) = 1000
ColWidth(2) = 0
RSOpen strSQL, db, 2, 2
For I = 1 To SST
TextMatrix(I, 0) = I
TextMatrix(I, 1) = RS!姓名
If Option1(0)Value = True Then
TextMatrix(I, 2) = RS!SID
ElseIf Option1(1)Value = True Then
TextMatrix(I, 2) = RS!SID
ElseIf Option1(2)Value = True Then
TextMatrix(I, 2) = RS!SID
ElseIf Option1(3)Value = True Then
TextMatrix(I, 2) = RS!ZID
ElseIf Option1(4)Value = True Then
TextMatrix(I, 2) = RS!SID
End If
RSMoveNext
Next I
RSClose
Set RS = Nothing
End With
dbClose
Set db = Nothing
Label1(2)Caption = "本次查询结果" & SST & "条"
End Sub
Private Sub MSFlexGrid1_Click()
If Not Val(Trim(MSFlexGrid1TextMatrix(MSFlexGrid1Row, 2))) = 0 Then
PKID = Val(Trim(MSFlexGrid1TextMatrix(MSFlexGrid1Row, 2)))
Call SJK(db)
strSQL = "select from 数据表名 Where ID=" & PKID & " Order By ID"
RSOpen strSQL, db, 3, 3
Text2(0)Text = RS!字段1
Text2(1)Text = RS!字段2
Text2(2)Text = RS!字段3
Text2(3)Text = RS!字段4
Text2(4)Text = RS!字段5
Text2(5)Text = RS!字段6
Text2(6)Text = RS!字段7
Text2(7)Text = RS!字段8
RSClose
Set RS = Nothing
dbClose
Set db = Nothing
End If
End Sub
数据库窗体专家和数据库 *** 作台(DBD)
Delphi为用户开发简单的数据库应用程序提供了一个开发工具叫做 数据库窗体专家 (Database Form Expert) 在Delphi系统菜单Tool菜单下可以找到
数据库窗体专家能够自动生成简单的数据库应用程序中所必须完成的许多任务 它还可以生成基于单个数据库表的应用程序窗体或基于主要──明细型多个数据库表的应用程序窗体 数据库窗体专家能够自动完成的任务如下
● 放置数据库部件到窗体中(TDataSource部件)
● 为数据集部件(TTable TQuery)和磁盘上的数据库建立连接
● 建立数据源(TDataSource)与数据控制部件的连接 数据源(TDataSource)与 数据访问部件(TTable TQuery)的连接
● 为TQuery部件编写SQL语句
● 为窗体中的部件定义Tab顺序
数据库 *** 作台(DBD)是数据库维护和数据定义工具 程序设计人员利用它可以查询 连接 建立 重构 索引 修改和拷贝数据库表 包括Pà€aradox和dBASE文件和基于 SQL语言的数据库表 而且在使用DBD *** 作Paradox或dBASE的表时 用户不必拥有 Paradox 或dBASE数据库管理系统 DBD还可以把一种格式的数据和数据字典拷贝成另一种格式 例如 你可以将一个dBASE的表拷贝到远程的SQL服务器上的一个数据库中去 有关DBD详细描述 请参看 数据库 *** 作台(DBD)的使用
Delphi数据库应用程序的开发方法和步骤
概述
用Derphi用开数据库应用程序 虽然与开发其他应用程序有相似之处 但是也有一些重要的区别 我们必须要加以注意
利用Delphi的客户/服务器功能 程序设计者可以在本地数据库上或远程数据库服务器上开发客户/服务器模式的应用程序 Delphi 的一个强有力的功能之一是可以将基于本地桌面数据库系统的应用程序很容易地修改成客户/服务器模式的应用 一个Delphi 数据库应用程序访问的是本地数据库还是远程SQL数据库服务器上的数据库 这对于最终用户是完全透明的 即数据库的物理位置对最终用户是透明的 当数据库的物理位置发生变化时 用户界面不必随之变化
因为数据库应用程序的是依赖于它所访问的数据库的 所以在开发数据库应用程序之前必须要建立一个完善的数据库即数据定义 数据定义应当是开发数据库应用程序的一部分 但它超出了书本的范围 有关数据定义的内容 请参看关系数据库设计方面的资料 在我们用Derphi开发一个数据库应用程序时 可能有下列四种情况
数据库不存在或者必须要重新定义 使用DBD为本地数据库定义Paradox或dBASE 数据库表 使用Delphi提供的服务器开发工具如Windows ISQL或DBD定义本地或远程SQL数据库务器上的数据库
数据库在桌面数据库系统中或局域网上(如Paradox或dBASE) 而且BDE 数据库和应用程序在同一台机器上 这是典型的独立应用
数据库在桌面数据库系统中 但是用户要把它改变到SQL数据库服务器中去 这种情况我们在附录C中详细讨论
数据库在SQL数据库服务器中 而且应用程序将到SQL数据库服务器中去访问数据库 这是一个标准的客户/服务器应用
有关开发客户/服务器应用程序的详细内容 参看 客户/服务器应用 一章
数据库应用程序的开发步骤
数据库应用程序的最终目标就是为用户提供一个满足其长期需要的软件产品 因此 成功地开发一个数据库应用程序的关键之一是要详细地定义用户的需求 然后再围绕用户的需求进行开发 数据库应用程序的一般开发的三个基本步骤如下
● 系统设计
● 系统实现
● 系统运行和维护
在这个三个基本步骤中 都包含着数据库的开发和应用程序界面的开发两大类任务 对于一个客户/服务器模式的应用 数据库和应用界面的区别就更明显一些 因为它们运行在不同的平台之上 而且使用的 *** 作系统都常常不一样 如(一个Unix环境的服务器和Windows环境的客户机)
系统设计
系统设计阶段应当根据用户的需求 明确地描述数据库(数据库服务器端)和应用界面(客户机端)实现的功能 即决定哪些功能由服务器端实现 哪些功能由客户机端实现 对于客户/服务器应用程序 许多功能既可以在服务器端实现又可以在客户端实现的 例如一个复杂的数学变换功能既可以由客户端的应用程序实现 也可以由服务器端的存贮过程实现 服务器和客户端应用程序功能的划分往往取决于应用程序运行的硬件环境 例如 如果客户端是低档的PC机 服务器端是高档的工作站 那么大量的计算由服务器完成是比较理想的
系统实现
系统实现阶段的主要任务是使用Delphi提供的工具和部件以及Pascal语言实现系统设计阶段的设想 并进行调试
在系统实现阶段 最好使用数据库的一个备份数据库 这个备份的数据库与原数据库具有相同的结构 但其中的数据库只是原数据库中的一部分 至所以不在原数据库上开发应用程序 是因为考虑到没有调试好的应用程序可能会破坏数据库中的数据或者妨碍数据库的正常 *** 作
如果应用程序是基于远程SQL数据库服务器的 在系统实现阶段可以采用两种方法
● 在本地InterBase服务器上 使用数据库的备份数据库进行开发和调试
● 在远程服务器上 使用数据库的备份数据库进行开发和调试
第一种方法优越性在于 它是独立于服务器的 而不至于影响服务器的其它的 *** 作 而且不消耗服务器的资源不增加网络的负担 它的不利的方面是开发出来的应用程序只能在标准的SQL服务器上使用和调试 第二种方法能够使程序设计人员直接感受到服务器的特性 但它在调试阶段要消耗网络和服务器的资源 这种方法具有一定的危险性 程序中的错误可能会导致服务器的瘫痪
系统运行和维护
一个应用系统性能的优劣 效率的高低始终应当由用户来做出判决 应用程序在运行过程中 用户会提出一些新的需求和建议 根据用户需求的变化 应当对应用程序做一定的修改 使其进一步地得到完善和提高
交付数据库应用程序
交付数据库应用程序意味着将它交付给最终用户 并且提供应用程序运行所需的软件 非数据库应用程序往往只需要一个EXE文件 而数据库应用程序要包括下列几类文件
● 数据库应用程序生成的EXE文件和DLL文件(如果有的话)
● 必要的辅助文件(如Readme文件或HLP联机帮助文件)
● 支持访问数据库的BDE 有时也称为IDAPI
● 用于打印输出报表的ReportSmith报表工具
● 如果应用中使用了VBX控件 还要包括VBX和BIVBXII DLL
安装BDE
在交付数据库应用程序时 必须同时在运行应用程序的机器上安装BDE Delphi 本身包含可再安装的BDE 在准备数据库应用程序安装盘时 同时从Delphi中复制一份BDE 到最终用户的机器中 BDE中包含访问多种数据库系统的驱动程序 为了节省磁盘空间 在安装BDE时 可以只安装应用程序必须的驱动程序 例如 如果我们的应用程序只需要访问dBASE数据库文件 那么在安装BDE时 只需安装dBASE的驱动程序就行了 要访问Paradox数据库 BDE至少需要 KB的磁盘空间 BDE主要包括下列文件 请参看DEPLOY TXT文件
lishixinzhi/Article/program/Delphi/201311/25177
按我的 想法来说就是
先查询数据库
$sql=""; 按你的条件查
if($sql==""){ //如果为空 执行添加
$aa=insert into 表()alues();
//判断添加是否成功
if($aa){
//成功就显示
}else{
//失败就提示
}
}else{
//如果有值那直接显示
}
希望能对你有用
假定表名test,列id是数值类型。用同一个字段的多 个值作为条件来查询可以使用in或者or。
具体语句如下:
1、select from test where id in (1,2,3)
go
2、select from testwhere id= 1orid =2orid=3
go
布局化查询言语(Structured Query Language)简称SQL(发音:/es kju el/ S-Q-L),是一类特殊目标的编程言语,是一类数据库查询和法式设想言语,用于存取数据以及查询、更新和办理关系数据库系统;同时也是数据库脚本文件的扩展名。
扩展资料
SQL命令的类型
1、数据定义语言(DDL)
用于创建和重构数据库对象,比如创建(create table/Index/view)、修改(alter table/index/view)和删除(drop table/index/view)表。
2、数据 *** 作语言(DML)
用于 *** 作关系型数据库对象内部的数据,基本命令插入(Insert)、更新(Update)和删除(Delete)。
3、数据查询语句(DQL)
是现代关系型数据库用户最关注的部分,就一个命令查询(Select)。
4、数据控制语言(DCL)
用于控制对数据库里数据的访问,通常用于创建与用户访问相关的对象,以及控制用户的权限,如修改密码(Alter password)、权限(Grant)。
以上就是关于VB6程序查询数据库全部的内容,包括:VB6程序查询数据库、DELPHI基础教程:Delphi开发数据库应用程序概述(二)[2]、关于数据库。表中没有记录就执行插入然后显示结果,否则就显示已有的结果等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)