怎么实现对数据库的查询(vb)

怎么实现对数据库的查询(vb),第1张

'新建工程,在FORM1上

'添加2个文本框text 一个命名为dbpath,一个命名为KEY

'添加一个Combo 命名为ziduan

'添加一个Treeview 命名为tableview

'添加一个MSHFlexGrid 命名为msh

'添加2个安钮 '一个命名为open ,一个命名为SEARCH

'代码贴在这里,看不明白加我QQ87904619

'时间紧,可能会有BUG。你自己看下吧

Dim conn As New ADODBConnection

Dim rs As ADODBRecordset

Dim tablenm As String '存储表名使用

Private Sub open_Click()

Dim strconn As String

Dim i As Integer

i = 0

cmd1Filter = "Access数据库文件|mdb|All Files|"

cmd1DialogTitle = "选择数据库文件"

cmd1ShowOpen

'打开数据库文件

If cmd1FileName <> "" Then

dbpathText = cmd1FileName

strconn = "provider=microsoftjetoledb40;data source=" & cmd1FileName

'打开数据源连接

If connState = adStateOpen Then

connClose

End If

connopen strconn

'读取所有表名称,填充到TreeView

tabletreeNodesClear

Dim nd1 As Node

Set nd1 = tabletreeNodesAdd(, , "pt", "数据库文件")

Set rs = connOpenSchema(adSchemaTables)

Do Until rsEOF

'判断是否是表

If rs!TABLE_TYPE = "TABLE" Then

Dim nd As Node

'将表名添加到TreeView

Set nd = tabletreeNodesAdd("pt", tvwChild, "pt" & i)

ndText = rs!TABLE_NAME

i = i + 1

End If

rsMoveNext

Loop

rsClose

End If

End Sub

'取表里所有字段的函数

Private Function getTable(ByVal nodename As String) As Recordset

Dim str As String

str = "select from " & nodename

Set rs = New ADODBRecordset

rsopen str, conn, 3, 3

Set getTable = rs

End Function

'查找函数

Private Function getKey() As Recordset

Dim str As String

str = "select from " & tablenm & " where " & Trim(ziduanText) & " like '%" & keyText & "%'"

rsopen str, conn, 3, 3

Set getKey = rs

End Function

Private Sub search_Click()

Set mshDataSource = getKey

rsClose

End Sub

'点击表名时使用的函数

Private Sub tabletree_NodeClick(ByVal Node As MSComctlLibNode)

Dim i As Integer

If Nodekey <> "pt" Then

tablenm = Trim(NodeText)

Set rs = getTable(Trim(NodeText))

ziduanClear

For i = 0 To rsFieldsCount - 1

ziduanAddItem rs(i)Name

Next i

rsClose

End If

End Sub

'本程序在win2000下读取VB目录NOTHWIND数据库通过

由于公司的新接得项目要实现一批数据的同步,通过外围厂商提供的一系列各个系统的webervices接口定时将数据同步到我们开发的共享平台上,由于厂商系统的数据是不断在变化以及各系统闲忙时的特点,所以定时同步任务的执行必须在时间上能够动态配置。因此,我们需要动态的从数据库中获取配置信息,以改变各个定时间的执行规则,废话不说了,上代码:(我利用的是ssh框架直接写的,框架搭建不再叙述)

1创建数据表(我用的是MySQL)

[sql] view plain copy

DROP TABLE IF EXISTS `t_wsdoc`;

CREATE TABLE `t_wsdoc` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`triggername` varchar(50) NOT NULL,

`jobdetailname` varchar(50) N

数据 *** 纵语言是指通过对表中的数据进行插入、删除和修改等 *** 作,实现对数据库的基本 *** 作。

插入是指把数据插入到数据库中指定的位置上去。

删除是指删除数据库中不必再继续保留的一组记录。

修改是指改记录或数据库模式,或在原有数据的基础上, 产生新的关系模式和记录。

检索是指从数据库中检索出满足条件的数据,它可以是一个数据项, 一个记录或一组记录。

排序是指改变物理存储的排列方式。

关于数据库

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。

在信息化社会,充分有效地管理和利用各类信息资源,是进行科学研究和决策管理的前提条件。数据库技术是管理信息系统、办公自动化系统、决策支持系统等各类信息系统的核心部分,是进行科学研究和决策管理的重要技术手段。

参考资料:

百度百科:数据 *** 纵语言

数据库管理系统的主要功能有:数据定义功能、数据 *** 纵功能、数据库的运行管理、数据库信息的接口和数据库的建立和维护功能。

1、数据定义功能:DBMS提供数据定义语言(Data Definition Language,DDL),用户通过它可以方便地对数据库中的数据对象进行定义。

2、数据 *** 纵功能:DBMS还提供数据 *** 纵语言(Data Manipulation Language,DML),用户可以使用DML *** 作数据,实现对数据库的基本 *** 作,如查询、插入、删除和修改等。

3、数据库的运行管理:数据库在建立、运用和维护时由数据库管理系统统一管理、统一控制,以保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复。

4、提供方便、有效地存取数据库信息的接口和工具:编程人员可通过编程语言与数据库之间的接口进行数据库应用程序的开发。数据库管理员(Database Administrator,DBA)可通过提供的工具对数据库进行管理。

5、数据库的建立和维护功能:数据库功能包括数据库初始数据的输入、转换功能,数据库的转储、恢复功能,数据库的重组织功能和性能监控、分析功能等。这些功能通常是由一些程序来完成。

数据库管理系统的结构

1、外部层(External Level)或称观点层(View Level):包括数个外部纲要(External Schema)或用户观点(User Views),每个外部纲要描述了特定族群有兴趣的部分数据库并对该族群隐藏剩下的部分,如同概念层,每个外部纲要一般使用表达性资料模型(Representational Data Model)实现。

2、概念层(Conceptual Level):包含了概念纲要(Conceptual Schema),概念纲要描述了整个用户社群的数据库结构,其隐藏了实际存储资料的结构并专注于描述实体(Entity)、资料类型(Data Type)、关系(Relationships)、用户 *** 作(User Operations)以及限制(Constraints)。通常数据库系统被实现时,表达性资料模型也被用于描述概念纲要。

3、内部层(Internal Level):内有内部纲要(Internal Schema),内部纲要描述的是实际存储资料的结构,其使用实体资料模型(Physical Data Model)并详细描述数据库的资料存储(Data Storage)及访问路径(Access Path)。

Windows程序大多数具有“所见即所得”(WYSIWYG,What You See Is What You Get)的功能。“所见即所得”是指软件打印输出效果和屏幕显示效果完全一致。“所见即所得”是Windows程序的一个主要优点之一。

本文将介绍如何使用Visual BASIC(以下简称VB)编写具有“所见即所得”功能的Windows程序。

一、方法概述

为了在屏幕上模拟打印效果,我们使用VB的一个窗体来模拟一张打印纸。在VB中,每一个窗体都有一个PrintForm方法。使用PrintForm方法可以把一个窗体的内容完全一样地通过打印机打印出来。由于PrintForm方法在打印窗体内容的时候,对于窗体内的文字和图形都是同样地打印。所以通过简单的编程,使用PrintForm方法可以非常方便地实现图文混合打印。

①确定用户可以使用的显示与打印双功能字模

“所见即所得”程序中用户可以使用的字模必须是同时支持Windows的显示设备和打印设备的双功能字模。只有这些字模才可以在屏幕和打印机上产生一样的效果。因此,程序必须首先获得这些显示与打印双功能字模的名称。

②在屏幕上设置“纸张”窗体的大小

通过读取Windows打印管理器纸张尺寸的设置,在VB里建立一个与打印纸具有同样尺寸比例关系的窗体,作为屏幕上模拟打印效果的“纸张”,让用户在屏幕上就可以看到文字和图形在打印纸上的位置分布。

③用户在屏幕“纸张”上模拟打印效果

在模拟打印的窗体中通过使用Print、Line、Circle等方法绘制文字和图形的,还可以使用图形框、Graph.VBX、OLE等控件绘制图形、统计图表、公式、艺术字型等。

④将屏幕“纸张”的内容输出到打印机

使用窗体的PrintForm方法把第③步所绘制的文字和图形输出到打印机,得到和屏幕显示一模一样的打印拷贝,实现“所见即所得”。

二、打印机字模和显示器字模的精确匹配

Windows的字模分为两类:打印机字模和显示器字模。各种TrueType字模(如宋体、黑体字模)都是显示与打印双功能字模。其他的非TrueType字模就只能用于显示或打印。

如果在模拟打印窗体的文字输出中使用了只能用于显示的字模,那么当PrintForm方法执行的时候,Windows就只能在打印字模中查找一个尽量和这个显示字模字型匹配的字模来进行打印。这样将导致得到的打印拷贝与屏幕显示不一致。

为了使程序获得“所见即所得”的能力,必须在窗体输出中使用显示与打印双功能字模。因此,程序获得“所见即所得”能力的一个关键是:确保在屏幕输出中只使用显示与打印双功能字模。

在VB中提供了两个全局对象:屏幕对象Screen和打印机对象Printer。两个对象都提供了FontCount属性和Fonts属性。FontCount属性提供了可使用字模的数量,而Fonts属性提供了可使用字模的名称。在程序中,我们可以取出Screen对象和Printer对象所共同拥有的字模,这些字模就是所有的显示与打印双功能字模。

具体的程序如下:

首先设置一个列表框,取名List1,然后调用下面的GetFont函数,在List1中就存放所有显示与打印双功能字模的名称。

Sub GetFont()

For i=0 To Screen.FontCount-1

For j=0 To Printer.FontCount-1

If Screen.Fonts(i)=Printer.Fonts(j) Then

List1.Add1tem (Sereen.Fonts(i))

End If

Next j

Next i

End Sub

三、窗体大小和纸张尺寸的匹配

为了在屏幕上可以清楚地看到文字和图形在打印纸上的位置和大小关系,必须使VB显示窗口的大小比例和打印纸张的大小比例是一致的。打印纸张的大小可以使用Printer对象的Width和Height属性来获得。根据获得的属性值可以设置VB显示窗体的大小比例,使之合乎纸张的比例大小。

下面的程序中有一个变量Size,其取值的范围为0-1。它的作用是控制打印图形的大小。当Size的值为1的时候,打印图形将和Windows设定的纸张一样大小。具体程序如下:

Sub Form_Load ()

Dim SizeAS INTECER

Size=095

Form1Height=Printer.HeightSize

Form1Wdth=Printer.WidthSize

End Sub

四、模拟打印和打印输出

下面的一段程序演示了在显示窗体上模拟打印文字和图形的方法,以及使用PrintForm把显示窗体中的文字和图形输出到打印机的方法。

注意的是:为了使用PrintForm方法,必须把显示窗体的AutoRedraw属性设置为True。

由于PrintForm方法打印窗体的内容是使用bit-by-bit的拷贝方法,因此在窗体里的所有文字和图形都可以被原样打印出来。作为例子,我们可以使用OLE控件来显示Word公式编辑器里编辑的公式,使用Picture和Graph控件来显示图形和统计图。然后使用PrintForm方法将它们打印出来。

具体程序如下:

Sub PrintOnScreen ()

Form1.Scale(0,0)-(100,100) ' 设置坐标

Form1.Line(100,0)-(0,100) ' 显示画线

Form1.CurrentX=0

Form1.CurrentY=0

Form1.FontName="宋体" ' 输出文字

Form1.FontSize=20

Form1.Print "模拟打印"

Picture1.Picture=LoadPicture("setupbmp") '输出图形

Form1.PrintForm ' 将显示窗体的内容送到打印机

Printer.EndDoc ' 开始打印

End Sub

以上就是关于怎么实现对数据库的查询(vb)全部的内容,包括:怎么实现对数据库的查询(vb)、如何实现一个定时任务来对数据库中的数据进行 *** 作、数据 *** 纵语言概念是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9710029.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存