VB数据库操作实例

VB数据库操作实例
VB数据库操作实例

VB数据库操作实例

工具/原料

VB数据库操作对很多初学者朋友感到比较吃力,目前教材中的实例对数据库操作都比较单一,很多朋友提议我做一个包括浏览、添加、修改、删除功能的数据库操作实例,下面这个实例就是一个这样的数据库操作实例。

步骤/方法

1.《书库管理系统》是一个最简单的数据库操作实例,它包括浏览、添

加、修改、删除功能的数据库操作,使用数据链接控件Adodc链接数据库、数据显示控件MSHFlexGrid显示数据库中的记录。

在新建工程时工具箱中是没有Adodc控件和MSHFlexGrid控件的,我们必须点击菜单中的【工程】-【部件】,在对话框中勾选“Microsoft ADO Data Control 6.0 (SP6)”和“Microsoft Hierarchical FlexGrid

Control 6.0 (SP4)”,最后点击【确定】,这样Adodc控件和MSHFlexGrid 控件就已经放置在工具箱中了。

其中Adodc控件的ConnectionString属性值是:

"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=家庭书

架.mdb;Persist Security Info=False",它设置链接了“家庭书架.mdb”

这个Access数据库,RecordSourc属性值是:"select 图书登记表.ID,

图书登记表.名称,图书登记表.书号,图书登记表.作者,图书登记表.出版

社,图书登记表.出借状态,出借记录.借书人,出借记录.电话,出借记录.

地址,图书登记表.备注,图书登记表.出借记录 from 图书登记表,出借记

录 where 图书登记表.ID=出借记录.zhuID ORDER BY 图书登记表.ID",

因为在“家庭书架.mdb”数据库中包含"图书登记表"和"出借记录"二个

数据表,这是多表链接的典型的SQL语句。Adodc的这二个属性值在VB

的属性窗口进行编辑,你可以将上述属性值直接输入到相应的属性中,设

置Visible的值为False,目的是在运行中不显示这个控件,其他属性默认值即可。

MSHFlexGrid控件的名称我们修改为MS1,它的属性设置稍稍比较麻

烦:

首先将它的DataSource属性在属性窗口设置为"Adodc1";

然后在对象窗口右击控件,在下拉菜单中点击【属性】,在“通用”

标签中修改行为3,修改列为11,修改固定行为0,修改固定列为0,如

果数据链接没有问题,在属性的“带区”标签中可以看到列标题和列名称已经设置了,其他属性页的属性可以容许默认值,中点击【确定】即可。

另外在属性窗口设置MSHFlexGrid控件的BackColorBkg属性为&H00FFE0E0&,这个属性是控件底色的设置,然后设置BackColorFixed

属性为&H00C0FFFF&,这个属性是控件数据显示标题的底色。其他默认值

即可。

最后放置三个按钮,一个标签,三个Frame控件,在Frame1、Frame2、Frame3控件中分别放置9个标签(数组),8个文本框,一个下拉选择框,一个按钮,在Frame2、Frame3控件中分别放置一个标签,设置这个标签的Visible值为False,其他设置参考下图:

设置和调整控件如上图后,设置数据库,在程序目录新建一个Access数据库,修改数据库的名称为“家庭书架.mdb”,新建二个数据表,分别是:“图书登记表”和“出借记录”:在“图书登记表”中添加字段:“ID”为自动编号、主键,“名称”为文本、大小50,“书号”为文本、大小30,“作者”为文本、大小40,“出版社”为文本、大小60,“出借状态”

为文本、大小20,“出借记录”为数字、长整型,“备注”为文本、大小50;在“出借记录”中添加字段:“ID”为自动编号、主

键,“zhuID”为数字、长整型,“名称”为文本、大小50,“借书人”

为文本、大小20,“电话”为文本、大小20,“地址”为文本、大小50。数据库设置成功。

2.点击【视图】-【代码窗口】输入下面的代码:

'模块级变量

Dim ZFC As String

Dim ROSX As Integer

3.Private Sub Command1_Click()

'添加记录

Dim FL As String, XID As Long

FL = App.Path & "\家庭书架.mdb"

Set conn = OpenDatabase(FL)

strSQL = "Select * From 图书登记表"

Set rs = conn.OpenRecordset(strSQL)

rs.AddNew

rs!名称 = Text1(0).Text

rs!书号 = Text1(1).Text

rs!作者 = Text1(2).Text

rs!出版社 = Text1(3).Text

rs!出借状态 = Combo1.Text

rs!备注 = Text1(7).Text

If Combo1.Text = "出借" Then rs!出借记录 = 1

rs.Update

rs.Close

Set rs = Nothing

strSQL = "Select * From 图书登记表 Order By ID Desc"

Set rs = conn.OpenRecordset(strSQL)

XID = rs!ID

rs.Close

Set rs = Nothing

strSQL = "Select * From 出借记录"

Set rs = conn.OpenRecordset(strSQL)

If Combo1.Text = "出借" Then

rs.AddNew

rs!zhuID = XID

rs!名称 = Text1(0).Text

rs!借书人 = Text1(4).Text

rs!电话 = Text1(5).Text

rs!地址 = Text1(6).Text

rs.Update

Else

rs.AddNew

rs!zhuID = XID

rs!名称 = ""

rs!借书人 = "没有出借"

rs!电话 = "无"

rs!地址 = "无"

rs.Update

End If

rs.Close

Set rs = Nothing

conn.Close

MsgBox "记录添加成功!"

Unload Me

书库管理.Show

End Sub

4.Private Sub Command2_Click()

'修改记录

If Val(Label4.Caption) = 0 Then

MsgBox "没有选择要修改的记录!"

Exit Sub

End If

Dim FL As String

FL = App.Path & "\家庭书架.mdb"

Set conn = OpenDatabase(FL)

strSQL = "Select * From 图书登记表 Where ID=" & Val(Label4.Caption) & ""

Set rs = conn.OpenRecordset(strSQL)

rs.Edit

rs!名称 = Text2(0).Text

rs!书号 = Text2(1).Text

rs!作者 = Text2(2).Text

rs!出版社 = Text2(3).Text

rs!出借状态 = Combo2.Text

rs!备注 = Text2(7).Text

If Combo2.Text = "出借" Then rs!出借记录 = 1

rs.Update

rs.Close

Set rs = Nothing

strSQL = "Select * From 出借记录 Where zhuID=" &

Val(Label4.Caption) & ""

Set rs = conn.OpenRecordset(strSQL)

If Combo2.Text = "出借" Then

If Not rs.EOF Then

rs.Edit

rs!名称 = Text2(0).Text

rs!借书人 = Text2(4).Text

rs!电话 = Text2(5).Text

rs!地址 = Text2(6).Text

rs.Update

Else

rs.AddNew

rs!zhuID = Val(Label4.Caption)

rs!名称 = Text2(0).Text

rs!借书人 = Text2(4).Text

rs!电话 = Text2(5).Text

rs!地址 = Text2(6).Text

rs.Update

End If

Else

If Not rs.EOF Then

rs.Edit

rs!名称 = Text2(0).Text

rs!借书人 = "没有出借"

rs!电话 = "无"

rs!地址 = "无"

rs.Update

Else

rs.AddNew

rs!zhuID = Val(Label4.Caption)

rs!名称 = Text2(0).Text

rs!借书人 = "没有出借"

rs!电话 = "无"

rs!地址 = "无"

rs.Update

End If

End If

rs.Close

Set rs = Nothing

conn.Close

MsgBox "记录修改成功!"

Label4.Caption = ""

Unload Me

书库管理.Show

End Sub

5.'添加记录连接

Private Sub Command3_Click()

Frame1.Visible = True

Frame2.Visible = False

Frame3.Visible = False

ZFC = "添加"

For i = 0 To 7

Text1(i).Text = ""

Next i

Combo1.Text = ""

Command1.Visible = True

Label5.Caption = "现在正在添加图书资料"

End Sub

6.'修改记录连接

Private Sub Command4_Click()

Frame1.Visible = False

Frame2.Visible = True

Frame3.Visible = False

ZFC = "修改"

For i = 0 To 7

Text2(i).Text = ""

Next i

Combo2.Text = ""

Label4.Caption = ""

Command2.Visible = True

Label5.Caption = "现在正在修改图书资料"

End Sub

7.'删除记录连接

Private Sub Command5_Click()

Frame1.Visible = False

Frame2.Visible = False

Frame3.Visible = True

ZFC = "删除"

For i = 0 To 7

Text3(i).Text = ""

Next i

Combo3.Text = ""

Label1.Caption = ""

Command6.Visible = True

Label5.Caption = "现在正在删除图书资料"

End Sub

8.Private Sub Command6_Click()

'删除记录

Dim SS As Integer

SS = MsgBox("确实要删除这个记录吗?", vbOKCancel, "删除确认!") If SS = 1 Then

If Val(Label1.Caption) = 0 Then

MsgBox "没有选择要修改的记录!"

Exit Sub

End If

Dim FL As String, XID As Long

FL = App.Path & "\家庭书架.mdb"

Set conn = OpenDatabase(FL)

strSQL = "Select * From 图书登记表 Where ID=" & Val(Label1.Caption) & ""

Set rs = conn.OpenRecordset(strSQL)

rs.Delete

rs.Close

Set rs = Nothing

strSQL = "Select * From 出借记录 Where zhuID=" &

Val(Label1.Caption) & ""

Set rs = conn.OpenRecordset(strSQL)

rs.Delete

rs.Close

Set rs = Nothing

conn.Close

MsgBox "记录删除成功!"

Unload Me

书库管理.Show

Else

MsgBox "取消了删除记录!"

End If

End Sub

9.'页面启动事件

Private Sub Form_Load()

Dim strSQL As String

Frame1.Visible = False

Frame2.Visible = False

Frame3.Visible = False

Label5.Caption = "现在正在浏览图书资料"

MS1.BackColorBkg = &HFFE0E0

End Sub

10.'点击MSHFlexGrid控件中记录的事件

Private Sub MS1_Click()

Dim i As Integer, COLX As Integer

COLX = MS1.Col

ROSX = MS1.Row

If ZFC = "添加" Then

For i = 0 To 7

Text1(i).Text = ""

Next i

Combo1.Text = ""

ElseIf ZFC = "修改" Then

Text2(0).Text = MS1.TextMatrix(ROSX, 1) Text2(1).Text = MS1.TextMatrix(ROSX, 2) Text2(2).Text = MS1.TextMatrix(ROSX, 3) Text2(3).Text = MS1.TextMatrix(ROSX, 4) Combo2.Text = MS1.TextMatrix(ROSX, 5)

Text2(4).Text = MS1.TextMatrix(ROSX, 6) Text2(5).Text = MS1.TextMatrix(ROSX, 7) Text2(6).Text = MS1.TextMatrix(ROSX, 8) Text2(7).Text = MS1.TextMatrix(ROSX, 9) Label4.Caption = MS1.TextMatrix(ROSX, 0) Label5.Caption = "已经选择记录准备修改"

ElseIf ZFC = "删除" Then

Text3(0).Text = MS1.TextMatrix(ROSX, 1) Text3(1).Text = MS1.TextMatrix(ROSX, 2) Text3(2).Text = MS1.TextMatrix(ROSX, 3) Text3(3).Text = MS1.TextMatrix(ROSX, 4) Combo3.Text = MS1.TextMatrix(ROSX, 5)

Text3(4).Text = MS1.TextMatrix(ROSX, 6)

Text3(5).Text = MS1.TextMatrix(ROSX, 7) Text3(6).Text = MS1.TextMatrix(ROSX, 8) Text3(7).Text = MS1.TextMatrix(ROSX, 9) Label1.Caption = MS1.TextMatrix(ROSX, 0) Label5.Caption = "已经选择记录准备删除"

ElseIf ZFC = "" Then

CL = MS1.Col

For i = 1 To MS1.Cols

MS1.Col = i - 1

MS1.CellBackColor = vbWhite

Next i

MS1.Col = CL

End If

MS1.Col = C0LX

MS1.CellBackColor = &H119911

End Sub

11.Private Sub MS1_LeaveCell()

Dim i As Integer

Dim CL As Integer

'离开该行时将该行的颜色恢复为白色

CL = MS1.Col

For i = 1 To MS1.Cols

MS1.Col = i - 1

MS1.CellBackColor = vbWhite

Next i

MS1.Col = CL

End Sub

12.下面是出现运行的情况:

VB SQL编程基础教程

https://www.360docs.net/doc/2714081251.html,数据库编程基础教程 罗珊 众所周知,https://www.360docs.net/doc/2714081251.html,自身并不具备对数据库进行操作的功能,它对数据库 的处理是通过.NET FrameWork SDK中面向数据库编程的类库和微软的MDAC来实现的。其中,https://www.360docs.net/doc/2714081251.html,又是.NET FrameWork SDK中重要的 组成部分。要了解https://www.360docs.net/doc/2714081251.html,的数据库编程,首先要明白https://www.360docs.net/doc/2714081251.html,的工作原理以及相关的对象、方法、属性。本文将结合具体实例为你简单介绍https://www.360docs.net/doc/2714081251.html,数据库访问对象以及https://www.360docs.net/doc/2714081251.html,数据库编程基本方法。 一、https://www.360docs.net/doc/2714081251.html,数据库访问对象 (一)https://www.360docs.net/doc/2714081251.html,简介 https://www.360docs.net/doc/2714081251.html,是由微软Microsoft ActiveX Data Object(ADO)升级发展而来的。是在.NET中创建分布式数据共享程序的开发接口。https://www.360docs.net/doc/2714081251.html,的数据存取API提供两种数据访问方式,分别用来识别并处理两种类型的数据源,即SQL Server7.0(及更高的版本)和可以通过OLE DB进行访问的其他数据源。为此https://www.360docs.net/doc/2714081251.html,中包含了两个类库,System.Data.SQL库可以直接连接到SQL Server的数据,System.Data.ADO库可以用于其他通过OLE DB进行访问的数据源。如Access数据。 (二)https://www.360docs.net/doc/2714081251.html,的名称空间

https://www.360docs.net/doc/2714081251.html,是围绕System.Data基本名称空间设计,其他名称空间都是从System.Data派生而来。它们使得https://www.360docs.net/doc/2714081251.html,不仅访问DataBase中的数据,而且可以访问支持OLE DB的数据源。 当我们讨论https://www.360docs.net/doc/2714081251.html,时,实际讨论的是System.Data和System.Data.OleDb 名称空间。这两个空间的所有类几乎都可以支持所有类型的数据源中的数据。这里我们讨论与后文实例有关的类。即OleDbconnection、OleDbDataAdapter、DataSet和DataView。 上面列举的类中没有OleDb前缀的,派生自System.Data空间,有此前缀的派生自System.Data.OleDb空间。在使用中,如果要引用OleDb前缀的类,必须导入System.Data.OleDb名称空间。语法如下: Imports System.Data.OleDb 使用没有此前缀的类必须导入System.Data名称空间。语法如下:Imports System.Data 1.OleDbConnection类 OleDbConnection类提供了一个数据源连接。这个类的构造函数接受一个可选参数,称为连接字符串。 (1)连接字符串: 连接字符串本身由下表中列出的参数构成。(图) 我们来看一下如何在连接字符串上使用参数来初始化一个连接对象。

vb连接ACCESS数据库实例

vb连接ACCESS数据库实例 下面给你一个用ADO的代码链接的实例:(ACCESS 2003) 首先在工程中点击【工程】-【引用】,在打开的对话框选择Microsoft AxtiveX Data Objects 2.8 Library 勾选,然后定义二个对象: Dim conn As New ADODB.Connection, rs As New ADODB.Recordset 其中conn是数据库链接对象,rs是数据记录集对象 那么,下面就是利用SQL语句链接数据库了: conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\library\1.mdb;Jet OLEDB:Database Password=" strSQL = "SELECT * FROM 数据库中的表" rs.Open strSQL, conn, 3, 3 至此数据库已经链接成功,并且已经加载了记录集,下面你就可以进行数据操作了,注意,在数据库操作完成后,千万别忘记关闭记录集和数据库链接对象: rs.Close conn.Close '首先,工具->引用->选中Microsoft ActiveX Data Objects 2.X Library '必须选中,否则下面代码不会起作用!(以下链接数据库之方式,不需要使用ADODB控件,仅需代码即可) Public Conn As New ADODB.Connection Public Rs As New ADODB.Recordset Public Cnt As Integer '这个Cnt是用来表示数据库数据总量的,对链接过程无关 '连接数据库的代码段 Conn.CursorLocation = adUseClient '以Conn为链接名建立链接,这里是设置数据游标(客户端数据游标),即设定读取数据库数据之方式(一行一行地读) Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & App.Path & "\test.mdb" '自己改动一下上面的路径和文件名即可,其他的代码你不理解照粘贴无妨 If Rs.State <> adStateClosed Then Rs.Close Rs.Open "SELECT 铺名, 上月读数, 本月读数, 实用度数, 铺位数, 首层面积, 非经营层 面积, 欠费明细, 欠费金额FROM data WHERE 首层面积is not null and 非经营层面积 is not null;", Conn, adOpenKeyset, adLockPessimistic Cnt = Rs.RecordCount '关闭数据库链接(一般放到子过程结束处,关闭数据库链接) Rs.Close Conn.Close Set Rs = Nothing

vb程序设计的几个简单例子

Option Explicit Private Sub Command1_Click() Dim i%, j%, r! i = Val(Text1.Text) j = Val(Text2.Text) Picture1.Print i; j; Call gysh(i, j) Picture1.Print "最大公约数是" & i r = Val(InputBox("输入半径")) Call S(r) End Sub Public Function gysh(m As Integer, n As Integer) As Integer Dim t% Do t = m Mod n: m = n: n = t Loop While t <> 0 End Function Public function S(r!) Const pi = 3.1415926 S = pi * r ^ 2 MsgBox "圆面积为:" & S End function Public Function 定积分() End Function

Dim a() As Integer, i%, j%, n%, t% Private Sub Command1_Click() Picture1.Print "排序前的数组为:" n = V al(InputBox("请输入一个3到100的整数")) ReDim a(1 To n) Randomize For i = 1 To n a(i) = Int(Rnd * 100) + 1 Picture1.Print Tab(((i - 1) Mod 5) * 6); a(i); Next i End Sub Private Sub Command2_Click() Picture1.Print Picture1.Print "排序后的数组为:" For i = 1 To n - 1 For j = i + 1 To n If a(i) > a(j) Then t = a(i) a(i) = a(j) a(j) = t End If Next Next For i = 1 To n Picture1.Print Tab(((i - 1) Mod 5) * 6); a(i); Next End Sub

VB使用ADODB操作数据库

VB使用ADODB操作数据库 Dim conn As New ADODB.Connection ’创建一个 Connection 实例,在这里使用New等于将Dim和Set合并为一段代码执行 Dim rs As ADODB.Recordset ’创建一个 Recordset 实例,不使用New 是因为,经常需要重复使用Set,因此没必要在这里使用 Dim CnStr As String, Sql As String ’创建两个字符串变量分别存放两个集合的SQL语句代码段 1、装载数据库(不属于Recordset集合) ============= Dim FileNamw$, DbIp$, DbName$, DbUser$, DbPw$ ’以上5个字符串变量分别表示文件路径和文件名、数据库地址、数据库名、数据操作员用户名、操作员密码 FileName = App.Path & "\’数据库名’" DbIp = "数据库地址" DbName = "数据库名" DbUser = "数据操作员用户名" DbPw = "操作员密码" ’以上变量根据数据库类型的不同而不同,有可能只需要1至两个变量 ’1)连接Access数据库: ’------------------- CnStr = "PROVIDER=microsoft.jet.oledb.3.51;persist security info =false;data source=" & FileNa me & ";Jet OLEDB:Database Password=" & DbPw ’2)连接Oracle数据库: ’------------------- CnStr = "PROVIDER=MSDAORA.1;Password=" & DbPw & ";User ID=" & DbUser & ";Data S ource=" & FileName & ";Persist Security Info=True" ’其中: ’PASSWORD:密码 ’User ID: 用户号 ’Data Source: 数据库名 ’Persist Security Info: ’Provider: ’3)连接VF的DBF库: ’---------------- CnStr = "PROVIDER=MSDASQL.1;Persist Security Info=False;Driver={Microsoft Visual FoxPr

VB+数据库编程之+ADO+连接数据库实例

VB 数据库编程之 ADO 连接数据库实例 这里先说说ADO的ACCESS数据库连接吧,两种。 1.ADO控件连接 “工程”菜单→“部件...”:Microsoft ADO Data Control 6.0 (SP6) (OLEDB) 并将Adodc数据控件绘入窗体。 右击Adodc数据控件→属性→使用连接字符串→生成→Microsoft Jet 4.0 OLE DB Provider→数据位置→找到要连接的ACCESS数据库文件…… Adodc数据控件的RecordSource属性为“2 - adcmdTable”和你要连接的表名。 控件的引用实例如下: '组合框(Combo)控件列表用某字段数据记录填充范例 '在窗体Load事件或Combo的相关事件中写入 '循环1到记录总数 For i = 1 To Adodc1.Recordset.RecordCount '如果不在记录集结尾则 If Not Adodc1.Recordset.EOF Then '组合框增加一行:“姓名”字段的值 Combo1.AddItem Adodc1.Recordset.Fields("姓名").Value '记录指针向后一个 Adodc1.Recordset.Movenext End If Next i 2.ADO代码连接 通用声明 Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim cmd As New https://www.360docs.net/doc/2714081251.html,mand Private Sub Form_Load() '实例化Connection对象 Set cn = New ADODB.Connection cn.CursorLocation = adUseClient cn.Open "Provider=Microsoft.jet.OLEDB.4.0;Data Source=" & App.Path & "\personnel.mdb;" 'Recordset对象 Set rs = New ADODB.Recordset rs.Open "职工信息", cn, adOpenDynamic, adLockOptimistic

(完整版)vb连接access数据库及数据读写操作

ACCESS数据库和VB的连接 Edited by Ryan 2013 1、建立Access数据库 2、启动VB,建立标准EXE 图1 3、添加ActiveX控件 鼠标指向任意VB控件,单击右键,选择“部件(O)”,出现图3所示界面 图2

图3 选择部件“Microsoft ADO Data Control 6.0 (OLEDB)”,出现如图4所示控件 图4

4、添加控件Adodc 图5 4、在控件Adodc上添加数据源 鼠标指向控件Adodc1,单击右键,选择“ADODC 属性”,弹出如图7所示界面 图6

图7 单击“生成(U). . .”,弹出如图8所示界面 图8 选择“Microsoft Jet 4.0 OLE DB Provider”,单击“下一步(N) >>”,弹出如图9所示界面

图9 单击“. . .”,添加数据源(第一步所建Access 数据库),如图10所示 图10 单击“测试连接(T)”,出现提示框,如图11所示 图11 之后点击“确定”,退回到如图12所示界面

图12 单击“记录源”,弹出如图13所示界面 图13 在“命令类型”下,选择“1 - adCmdText”,在“命令文本(SQL)”下,输入“Select * from test1”,最后单击“应用”,“确定”即可 之后,进入程序书写部分 程序部分需要注意接头形式及简单例子如下: Private Sub Command1_Click() ‘VB按钮控件 Dim mydb As New ADODB.Connection ‘定义新的数据库连接 mydb.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\read database\test1\test1.mdb" ‘数据库绝对路径 Dim rs As New ADODB.Recordset ‘定义数据库的一个对象 mydb.Open ‘打开数据库 rs.Open "select * from test1", mydb, 3, 3 ‘打开数据库中的表test1

完整word版,VB程序设计例题12例

索引 一、在窗体上画一个文本框,其名称为Text1,Text属性为空白。再画一个命令按钮,其名称为C1,Visible属性为False。编写适当的事件过程。程序运行后,如果在文本框中输入字符,则命令按钮出现。 二、计算圆的周长和面积:在窗体中添加一个文本框(Text1)和一个对应的标签(Label1),再添加两个命令按钮(Command1和Command2)和一个图片框(Picture1)。程序运行时,当单击Command1按钮后,计算圆的周长;当单击Command2按钮后,计算圆的面积;计算结果输出在图片框中。(要求在未输入半径前两个按钮呈灰色不可用。) 三、在窗体上添加三个文本框和对应的三个标签,标签的标题分别是“个位”、“十位”、“百位”。程序运行时,当单击窗体后,随机产生一个【100,999】区间内的整数,将它的个位、十位、百位数字分别显示在对应的文本框中。 四、设计一个计算程序:在窗体上添加四个文本框和四个对应的标签,标签的标题分别是“语文”、“数学”、“外语”、“平均成绩”,三个命令按钮,标题分别为“清除”、“计算”、“退出”。程序运行后,用户按“清除”按钮,则清除文本框中显示的内容,按“计算”按钮,则计算三科平均成绩,将计算结果显示在第四个文本框中(计算结果保留小数点后一位)。单击退出按钮则程序退出。 五、某税务部门征收所得税,规定如下:(1)收入200元以内,免征。(2)收入在200~400元,超过200元的部分纳税3%。(3)收入超过400元的部分,纳税4%。(4)当收入达5000元或超过时,将4%税金改为5%。编程序实现上述操作。 六、给定三角形的三条边的边长,计算三角形的面积。编写程序,首选判断给出的三条边能否构成三角形,如可以构成,则计算并输出该三角形的面积,否则要求重新输入。当输入-1时结束程序。 七、编程求100以内的全部素数。 八、编程打印钻石图案。 九、输出杨辉三角形。 十、有一个数组,包含了10个不同的随机整数(20~90),要求计算出它们的平均值,并输出这个数组中最接近于平均值的数。 十一、在一个窗体上建有包含三个命令按钮的控件数组和一个文体框。编程实现当按下标题不同的命令按钮时,使文体框中文字的字体发生相应的变化。 十二、编程求1000以内的完全数。所谓完全数是指这样的自然数:它的各个约数(不包括该数本身)。如28=1+2+4+7+14就是一个完全数。

VB程序设计例题程序改错程序填空程序设计

'以下程序段用于输出杨辉三角:结果样式如图1 ' Private Sub Form_Click() Const n = 10 Dim arr(n, n) As Integer For I = 1 To n arr(I, I) = 1 '**********SPACE********** 【arr(I, 1) = 1】 Next I For I = 3 To n For j = 2 To I - 1 '**********SPACE********** arr(i, j) =arr(i-1,j-1)+arr(i-1,j) Next j Next I For I = 1 To n For j = 1 To I '**********SPACE********** 【print arr(I,j)】 Next j Print Next I End Sub Option Explicit '------------------------------------------------ '【程序改错】 '------------------------------------------------ '题目:用自定义函数的方法求sum(x),求当-1≤x≤1时,' sum(x)=x/2!+x^2/3!+x^3/4!+……+x^n/(n+1)!, ' 当x〉1或x〈-1时,函数值为0。当n〈=0时,输入数' 据错误。X、N都是由用户输入。 '------------------------------------------------ '注意:不可增加或删除程序行,也不可以更改程序结构 '------------------------------------------------ Private Sub Command1_Click() Dim s As Single Dim n As Integer, x As Single, k As Integer n = Val(InputBox("Please input a integer value:"))

第七讲 VB访问SQL Server2000数据库的方法

第七讲 VB访问SQL Server2000数据库的方法 一、ODBC数据源设置 1、ODBC简介 ODBC Open DatabaseConnectivity开放式数据库互连)是Mircosoft公司有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API Application应用程序编程接口)。这些API利用SQL来完成大部分的任务。ODBC本身提供对SQL语言的支持,用户可以直接将SQL送给ODBC一个基于ODBC的应用程序对数据库操作不依赖于任何DBMS,不直接与DBMS打交道,所有数据库操作由ODBC驱动程序完成。 2、ODBC数据源的创建(建立ODBC数据源) 前台系统Windows 2000 professional系统,后台Windows 2000 Server系统。以Windows 2000 professional为例: (1)单击“开始”/设置/控制面板/管理工具/数据源ODBC,打开“ODBC数据源管理器”,选择“用户DSN or 系统DSN”,单击【添加】按钮,打开“创建用户数据源”对话框,选择“SQL Server”,单击【完成】按钮。

(2)打开“创建新的数据源到SQL Server”窗口: ○1你想用什么名称命名数据源:在名称框中输入xn。 ○2服务器:为网络中数据库服务器(默认是本地服务器Local,可选远程服务器IP)。 ○3登陆ID:xn密码:xn(取决于安装SQL时所指定的密码)。特别注意此处为确保数据库安全起见,数据库管理员可以给用户指定一个用户名及密码。这里为简便起见使用管理员用户名及密码。 ○4更改数据库为:aa(所要使用的数据库)。

VB可视化程序设计实例——小时钟

VB可视化程序设计实例——小时钟 本例专门针对程序设计初学者而设计,尤其适合第一次接触VB的学生学习。通过用VB来设计如图3.39所示的时钟程序,初步感受一下可视化和面向对象的程序设计过程。 图3.39 时钟程序运行效果 小时钟程序中包含窗体控件、标签控件和计时器控件等3个控件。窗体控件是小时钟程序运行时的窗口,标题栏上的标题是“时钟”,在右上角有最小化、最大化和关闭按钮。标签控件可以用来显示文本,本例中用来显示时间,如“9:48:57”。计时器控件每秒一次把计算机的当前系统时间显示到标签控件中,使得小时钟不停地运行。Array启动VB,首先显示“新建工程”对话框(图3.40),在选择“新建”选项卡中的“标 准EXE”项后,单击“打开”按钮,进入VB编程环境,如图3.41所示。 图3.40 “新建工程”对话框

图3.41 VB 可视化编程环境 除了标题栏、菜单栏和标准工具栏外,编程环境中还有工具箱、窗体和属性等窗口。 双击工具箱(图3.42)中的标签控件,在窗体Form1中放置可以显示文本信息的标签控件Label1,见图3.43。时钟的时、分和秒以后就显示在Label1中。拖曳Label1可以移动它,拖曳它的八个控制点,可以改变它的大小。 图3.42 工具箱 图3.43 label1控件 图3.44 计时器控件 双击工具箱中的计时器控件,在窗体Form1中放置计时器控件Timer1,见图3.44。计时器控件以一定的时间周期,调用一个事件。计时器控件只有在设计阶段出现在窗体上,程序运行时是不可见的,它的位置和大小无关紧要。 到目前为止,已经建立了窗体Form1、标签控件Label1和计时器控件Timer1等3个对象。下面,将设置它们的属性。 窗体窗口

VB数据库操作实例

VB数据库操作实例 工具/原料 VB数据库操作对很多初学者朋友感到比较吃力,目前教材中的实例对数据库操作都比较单一,很多朋友提议我做一个包括浏览、添加、修改、删除功能的数据库操作实例,下面这个实例就是一个这样的数据库操作实例。 步骤/方法 1. 1 《书库管理系统》是一个最简单的数据库操作实例,它包括浏览、添加、修改、删除功能的数据库操作,使用数据链接控件Adodc链接数据库、数据显示控件MSHFlexGrid显示数据库中的记录。 在新建工程时工具箱中是没有Adodc控件和MSHFlexGrid控件的,我们必须点击菜单中的【工程】-【部件】,在对话框中勾选“Microsoft ADO Data Control 6.0 (SP6)”和“Microsoft Hierarchical FlexGrid Control 6.0 (SP4)”,最后点击【确定】,这样Adodc控件和MSHFlexGrid控件就已经放置在工具箱中了。 其中Adodc控件的ConnectionString属性值是:"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=家庭书架.mdb;Persist Security Info=False",它设置链接了“家庭书架.mdb”这个Access数据库,RecordSourc属性值是:"select 图书登记表.ID,图书登记表.名称,图书登记表.

书号,图书登记表.作者,图书登记表.出版社,图书登记表.出借状态,出借记录.借书人,出借记录.电话,出借记录.地址,图书登记表.备注,图书登记表.出借记录from 图书登记表,出借记录where 图书登记表.ID=出借记录.zhuID ORDER BY 图书登记表.ID",因为在“家庭书架.mdb”数据库中包含"图书登记表"和"出借记录"二个数据表,这是多表链接的典型的SQL语句。Adodc 的这二个属性值在VB的属性窗口进行编辑,你可以将上述属性值直接输入到相应的属性中,设置Visible的值为False,目的是在运行中不显示这个控件,其他属性默认值即可。 MSHFlexGrid控件的名称我们修改为MS1,它的属性设置稍稍比较麻烦:首先将它的DataSource属性在属性窗口设置为"Adodc1"; 然后在对象窗口右击控件,在下拉菜单中点击【属性】,在“通用”标签中修改行为3,修改列为11,修改固定行为0,修改固定列为0,如果数据链接没有问题,在属性的“带区”标签中可以看到列标题和列名称已经设置了,其他属性页的属性可以容许默认值,中点击【确定】即可。 另外在属性窗口设置MSHFlexGrid控件的BackColorBkg属性为&H00FFE0E0&,这个属性是控件底色的设置,然后设置BackColorFixed属性为&H00C0FFFF&,这个属性是控件数据显示标题的底色。其他默认值即可。 最后放置三个按钮,一个标签,三个Frame控件,在Frame1、Frame2、Frame3控件中分别放置9个标签(数组),8个文本框,一个下拉选择框,一个按钮,在Frame2、Frame3控件中分别放置一个标签,设置这个标签的Visible值为False,其他设置参考下图:设置和调整控件如上图后,设置数据库,在

VB数据库编程实用源码

使用ADO编程模型需添加ADO对象类库的“引用”----“Microsoft ActiveX Data Objects 2.x Library” ADO之VB数据库操作主要包括读、写、修改及删除等操作,不论是进行什么数据库操作都必须首先连接到数据库。 一、连接到数据库 1、连接到SQL数据库: 通过ADO的Connection对象可实现VB与SQL数据库的连接。一般方法如下: Dim cnn As New ADODB.Connection …创建Connection对象cnn,关键字new用于创建新对象 cnn.ConnectionString = "Provider=SQLOLEDB.1;Password=密码;User ID=用户名;Initial Catalog=SQL数据库文件;Data Source= localhost;" '指定提供者,设置数据源 cnn.Open …打开到数据库的连接 …….. cnn.Close …关闭到数据库的连接 或者: Dim cnn As New ADODB.Connection …创建Connection对象cnn,关键字new用于创建新对象 cnn.Open "Provider=SQLOLEDB.1;Password=密码;User ID=用户名;Initial Catalog=SQL数据库文件;Data Source= localhost;" …打开到数据库的连接 …….. cnn.Close …关闭到数据库的连接 2、连接到ACCESS数据库: 通过ADO的Connection对象可实现VB与ACCESS数据库的连接。一般方法如下: Dim cnn As New ADODB.Connection …创建Connection对象cnn,关键字new用于创建新对象 cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=ACCESS数据库文件.MDB" '指定提供者,设置数据源 cnn.Open …打开到数据库的连接 …….. cnn.Close …关闭到数据库的连接 或者: Dim cnn As New ADODB.Connection …创建Connection对象cnn,关键字new用于创建新对象 cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=ACCESS数据库文 件.MDB" …打开到数据库的连接

VB使用ADODB操作数据库的常用方法

VB使用ADODB操作数据库的常用方法 ADO常用方法 下面是我所掌握的使用ADO对数据库操作的一些常用方法,主要是提供给初学者作为参考,有不对的地方请指正。如有补充不胜荣幸 准备工作 ======== Dim conn As New ADODB.Connection '创建一个 Connection 实例,在这里使用New等 于将Dim和Set合并为一段代码执行 Dim rs As ADODB.Recordset '创建一个 Recordset 实例,不使用New 是因为,经常 需要重复使用Set,因此没必要在这里使用 Dim CnStr As String, Sql As String'创建两个字符串变量分别存放两个集合的SQL语句代码段 1、装载数据库(不属于Recordset集合) ============= Dim FileNamw$, DbIp$, DbName$, DbUser$, DbPw$ '以上5个字符串变量分别表示文件路径和文件名、数据库地址、数据库名、数据操作员用户名、操作员密码 FileName = App.Path & "\'数据库名'" DbIp = "数据库地址" DbName = "数据库名" DbUser = "数据操作员用户名" DbPw = "操作员密码" '以上变量根据数据库类型的不同而不同,有可能只需要1至两个变量 '1)连接Access数据库: '------------------- CnStr = "PROVIDER=microsoft.jet.oledb.3.51;persist security info =false;data so urce=" & FileName & ";Jet OLEDB:Database Password=" & DbPw '2)连接Oracle数据库:

vb程序的设计实例

vb程序设计实例 2009-5-22 15:37 提问者:淘淘的某在|悬赏分:20 |浏览次数:1688次 编写程序,设银行定期存款的年利率为:1年期2.25%,2年期2.43%,3年期为2.70%,5年期为2.88%(不记复利)。今有X元,5年以后使用,共有如下6中存法: ①存一次5年期; ②存一次3年期,一次2年期; ③存一次3年期,两次1年期; ④存两次2年期,一次1年期; ⑤存一次2年期,三次1年期; ⑥存五次1年期. 分别计算各种存法5年后到期的本息合计,如图所示 2009-5-22 17:06 最佳答案 Private Sub Form_Activate() '1年期2.25%,2年期2.43%,3年期为2.70%,5年期为2.88%(不记复利)。今有X元,5年以后使用,共有如下6中存法: Const x1 As Double = 0.0225, x2 As Double = 0.0243, x3 As Double = 0.027, x5 As Double = 0.0288 Dim x As Double x = Val(InputBox("")) Print "①存一次5年期,5年后到期的本息合计"; ss(x, 5, x5) Print "②存一次3年期,一次2年期,5年后到期的本息合计"; ss(ss(x, 3, x3), 2, x2) Print "③存一次3年期,两次1年期,5年后到期的本息合计"; ss(ss(ss(x, 3, x3), 1, x1), 1, x1) Print "④存两次2年期,一次1年期,5年后到期的本息合计"; ss(ss(ss(x, 2, x2), 2, x2), 1, x1) Print "⑤存一次2年期,三次1年期,5年后到期的本息合计"; ss(ss(ss(ss(x, 2, x2), 1, x1), 1, x1), 1, x1) Print "⑥存五次1年期,5年后到期的本息合计"; ss(ss(ss(ss(ss(x, 1, x1), 1, x1), 1, x1), 1, x1), 1, x1) End Sub Private Function ss(ByVal a As Double, b As Integer, c As Double) As Double ss = a + a * c * b End Function Private Sub Form_Load()

vb连接access数据库常用的方法两种示例

这里以链接access数据库为例。 第一部分就是通过语句链接,第二部分就是通过控件链接一、 通过语句链接数据库,然后把相应得数据赋值给某个文本框就行了。 1、首先定义几个全局变量 Dimcn As NewADODB、Connection Dim rs As New ADODB、Recordset Dim constrAsString 2、给这些变量赋值,方便链接数据库 constr = "Provider=Microsoft、Jet、OLEDB、4、0;"&"DataSource=D:\EffectSolution\科学效应数据库、mdb" 红色部分写您自己得数据库路径。 3、打开数据库 cn、openconstr 打开表 rs、open“select * from 效应表whereid=5“,cn 取字符串并赋值给相应得文本 Text1、text=rs、fields(“效应与现象名称”) Text2、text=rs、fields(“文字解说”) 关闭表 rs、close 关闭数据库 cn、close 注意,最后两步骤一定要有,不然下次打开数据库得时候会提

示出错得,这样得话,在窗口上建立两个文本框就够了。 但就是,在此之前还有一步一定要做, 点"工程"-"引用"-找到"Microsoft ActiveX Data Object2、6 ",如图所 示:

显示得结果如下图所示: 通过与效应表对比发现显示正确。 总体代码如下: Private Sub Form_Load() Dim cn As New ADODB、Connection Dim rs As NewADODB、Recordset Dim constrAsString constr="Provider=Microsoft、Jet、OLEDB、4、0;" &_ "Data Source=D:\EffectSolution\科学效应数据库、mdb" '空格加短下划线表示续行 cn、open constr rs、open "select*from 效应表where id =5", cn Text1、Text = rs、fields("效应与现象名称") Text2、Text = rs、fields("文字解说")

VB编程实例精讲(150例)

ExcelVBA编程实例(150例) 主要内容和特点 《ExcelVBA编程入门范例》主要是以一些基础而简短的VBA实例来对ExcelV BA中的常用对象及其属性和方法进行讲解,包括应用程序对象、窗口、工作簿、工作表、单元格和单元格区域、图表、数据透视表、形状、控件、菜单和工具栏、帮助助手、格式化操作、文件操作、以及常用方法和函数及技巧等方面的应用。这些例子都比较基础,很容易理解,因而,很容易调试并得以实现,让您通过具体的实例来熟悉ExcelVBA编程。 ■分16章共14个专题,以具体实例来对大多数常用的ExcelVBA对象进行讲解; ■一般而言,每个实例都很简短,用来说明使用VBA实现Excel某一功能的操作; ■各章内容主要是实例,即VBA代码,配以简短的说明,有些例子可能配以必要的图片,以便于理解; ■您可以对这些实例进行扩充或组合,以实现您想要的功能或更复杂的操作。VBE编辑器及VBA代码输入和调试的基本知识 在学习这些实例的过程中,最好自已动手将它们输入到VBE编辑器中调试运行,来查看它们的结果。当然,您可以偷赖,将它们复制/粘贴到代码编辑窗口后,进行调试运行。下面,对VBE编辑器界面进行介绍,并对VBA代码输入和调试的基本知识进行简单的讲解。 激活VBE编辑器 一般可以使用以下三种方式来打开VBE编辑器: ■使用工作表菜单“工具——宏——Visual Basic编辑器”命令,如图00-01所示;■在Visual Basic工具栏上,按“Visual Basic编辑器”按钮,如图00-02所示;■按Alt+F11组合键。

图00-01:选择菜单“工具——宏——Visual Basic编辑器”命令来打开VBE编辑器 图00-02:选择Visual Basic工具栏上的“Visual Basic编辑器”命令按钮来打开VBE编辑器 此外,您也可以使用下面三种方式打开VBE编辑器: ■在任一工作表标签上单击鼠标右键,在弹出的菜单中选择“查看代码”,则可进入VBE编辑器访问该工作表的代码模块,如图00-03所示; ■在工作簿窗口左上角的Excel图标上单击鼠标右键,在弹出的菜单中选择“查看代码”,则可进入VBE编辑器访问活动工作簿的ThisWorkbook代码模块,如图00-04所示; ■选择菜单“工具——宏——宏”命令打开宏对话框,若该工作簿中有宏程序,则单击该对话框中的“编辑”按钮即可进行VBE编辑器代码模块,如图00-05所示。

VB数据库操作实例

VB数据库操作实例 2008年02月22日 05:49 VB数据库操作对很多初学者朋友感到比较吃力,目前教材中的实例对数据库操作都比较单一,很多朋友提议我做一个包括浏览、添加、修改、删除功能的数据库操作实例,下面这个实例就是一个这样的数据库操作实例。 《书库管理系统》是一个最简单的数据库操作实例,它包括浏览、添加、修改、删除功能的数据库操作,使用数据链接控件Adodc链接数据库、数据显示控件MSHFlexGrid显示数据库中的记录。 在新建工程时工具箱中是没有Adodc控件和MSHFlexGrid控件的,我们必须点击菜单中的【工程】-【部件】,在对话框中勾选“Microsoft ADO Data Control 6.0 (SP6)”和“Microsoft Hierarchical FlexGrid Control 6.0 (SP4)”,最后点击【确定】,这样Adodc控件和MSHFlexGrid控件就已经放置在工具箱中了。 其中Adodc控件的ConnectionString属性值是: "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=家庭书架.mdb;Persist Security Info=False",它设置链接了“家庭书架.mdb”这个Access数据库,RecordSourc属性值是:"select 图书登记表.ID,图书登记表.名称,图书登记表.书号,图书登记表.作者,图书登记表.出版社,图书登记表.出借状态,出借记录.借书人,出借记录.电话,出借记录.地址,图书登记表.备注,图书登记表.出借记录 from 图书登记表,出借记录 where 图书登记表.ID=出借记录.zhuID ORDER BY 图书登记表.ID",因为在“家庭书架.mdb”数据库中包含"图书登记表"和"出借记录"二个数据表,这是多表链接的典型的SQL语句。Adodc的这二个属性值在VB的属性窗口进行编辑,你可以将上述属性值直接输入到相应的属性中,设置Visible的值为False,目的是在运行中不显示这个控件,其他属性默认值即可。 MSHFlexGrid控件的名称我们修改为MS1,它的属性设置稍稍比较麻烦:首先将它的DataSource属性在属性窗口设置为"Adodc1"; 然后在对象窗口右击控件,在下拉菜单中点击【属性】,在“通用”标签中修改行为3,修改列为11,修改固定行为0,修改固定列为0,如果数据链接没有问题,在属性的“带区”标签中可以看到列标题和列名称已经设置了,其他属性页的属性可以容许默认值,中点击【确定】即可。 另外在属性窗口设置MSHFlexGrid控件的BackColorBkg属性为&H00FFE0E0&,这个属性是控件底色的设置,然后设置BackColorFixed属性为&H00C0FFFF&,这个属性是控件数据显示标题的底色。其他默认值即可。 最后放置三个按钮,一个标签,三个Frame控件,在Frame1、Frame2、Frame3控件中分别放置9个标签(数组),8个文本框,一个下拉选择框,一个按钮,在Frame2、Frame3控件中分别放置一个标签,设置这个标签的Visible值为False,其他设置参考下图:

vb数据库操作实例

第一部分:vb数据库操作实例 vb神童教程(续)--编写一个小型的信息管理系统 vb神童教程(续)--准备数据库 vb神童教程(续)--设计系统的界面及对象的属性 vb神童教程(续)--为对象添加事件代码 vb神童教程(续)--编写一个小型的信息管理系统 受委托为编程入门网做一个简单的vb操作数据库的实例,来演示一下如何用vb 向数据库中添加、修改、删除记录这些操作。我觉得自己是比较菜的,几年来别人都在进步,只有我还在原地踏步。不过没有办法,我们这一圈人里现在只有我机器上还有vb6,勉为其难,只有尝试一下了。如果我写的这点幼稚的东西能为想要了解vb数据库操作的朋友提供哪怕是一丁点儿的参考和帮助,将是我最为高兴的事情,同时也希望高手不要见笑。 我做的这个实例名为“编程入门网网址管理系统”,算是一个小型的信息管理系统吧。该系统后台使用的是Access数据库,程序中使用ADO代码链接的形式连接Access。该系统具有向数据库中添加、修改、删除记录的功能,进行某项操作后能够实时刷新显示数据。并在程序中加了相应的代码对输入的数据进行合法性校验,以避免输入错误的数据造成程序运行不正常,程序运行时各个操作及退出系统时均有友好的提示框请用户确认。所有代码均在Windows 2003+Vusual Basic 6.0环境下调试通过。 系统运行时如下图:

vb神童教程(续)--准备数据库 我用的是Access 2003,因为需要讲解的仅仅是数据的添加、修改及删除,因此单数据库、单表就够了。如果以后您要编写更复杂一些的信息管理系统而涉及到多表操作,则您还需要补充一些关系数据库方面的知识,比如实体、一对一联系、一对多联系等等;此外,对sql语言也需要有所了解。具体您可以参考:数据库基础知识ABC。 首先,在“我的电脑”的e盘新建一个名为vb文件夹,先打开Access,新建一个名为Access_db的数据库(Access数据库文件的扩展名是.mdb),保存到刚才建立的文件夹中,则以后在程序中调用数据源的位置为 E:\vb\Access_db.mdb。 然后在Access_db.mdb中建立一个名为wzdz的表(wzdz是“网站地址”的首字母缩写), 然后在wzdz表中添加网站名称、网站地址及网站描述三个字段,三个字段的属性是相同的,如下: ▲数据类型:文本。 ▲字段大小:50 ▲有效性规则:无。 ▲必填字段:否 ▲允许空字符串:否 ▲索引:无 “编号”这个字段使用的是Access的自动编号,并将其作为主键。也就是说,您在表中设置以上三个字段即可,设置完毕保存表时,按Access的提示添加主键,Access会自动为您搞定。具体操作您可以参考:vb神童教程(续)--vb连接Access数据库实例 这样在建立了数据库及表结构之后,即使是调用没有记录的空库,系统也可以无差错运行,可以在运行时通过“添加记录”按钮向数据库中添加记录。不过由于数据库是空的,系统第一次运行时数据显示控件没有数据可显示,显得空荡荡的,不太美观哦。为了方便起见,我们在Access中给wzdz表中预先添加两条初始记录:

相关文档
最新文档