VB6链接Oracle常用数据库操作类模块(原创、源码、说明)

2020-05-23 14:37

VB6链接Oracle常用数据库操作类模块

(原创、源码、说明)

笔者信奉的编程原则是“拿来就用”,并且已经将数据库常用的相关操作如“万能查询”、“导出Excel”等类模块在百度文库先后发布了,本次主要说一说其他常用的数据库操作类模块的封装。通过如下的类模块可以大大简化数据库编程中的重复操作。

本文将数据库添加记录、修改记录、删除记录、添加DataGrid列标题、添加数据到ComboBox、记录是否存在、记录集显示在

DataGrid、设置起止日期等重复出现的数据库操作的类模块源码共大家学习研究。

欢迎对本文及笔者文库内的其他内容与笔者进行交流。 一、前期准备工作

前期准备工作主要为引用ADO动态链接库及设置标准模块。引用ADO动态链接库本文就不赘述了。主要说下我所使用的标准模块,这在我的类模块中经常使用。源码如下:

Public Function Cnn() As ADODB.Connection Set Cnn = New ADODB.Connection

Cnn.Open \ID=bzk22;Password=zxcvbn;Data Source=myzsyy\

End Function

Public Function cnStr() As String

cnStr = \ID=bzk22;Password=zxcvbn;Data Source=myzsyy\

End Function

上述源码是放在标准模块中的,用于经常用到的数据库链接操作,读者可以根据自己的实际情况更改数据库的用户名及密码。

二、常用数据库操作类模块 类模块及其名称如下:

(一)添加记录

使用该类模块请注意:参数顺序必须与数据库字段顺序一致,否则容易将错误数据添加到其他列。

1、类模块源码

类模块名称:RSDataAdd

Public tableName As String

Public Sub RecordAdd(ParamArray P()) Dim rs As ADODB.Recordset Set rs = New ADODB.Recordset

rs.Open \

adLockOptimistic

rs.AddNew

Dim i As Integer

For i = 0 To UBound(P) rs.Fields(i) = P(i) Next i rs.UPDATE rs.Close

MsgBox \数据添加成功!\添加记录\End Sub

2、操作代码

Private Sub Command7_Click() Dim myAdd As New RSDataAdd myAdd.tableName = \

Call myAdd.RecordAdd(Text3.Text, Text4.Text, Text5.Text,

DTPicker3.Value)

End Sub

(二)修改记录

如果是用过上述添加代码操作,只需将相应的参数复制过来放到本函数参数里即可。因为除了第一个检索字段外,顺序都是一样的。

1、类模块源码

类模块名称:RSUpdate

Public tableName As String '指定将要修改记录的表名 Public editField As String '指定将要修改记录的字段名

Public willEdit As String '指定内容检索将要修改的记录

Public Sub RecordUpdate(ParamArray P()) Dim rs As ADODB.Recordset Set rs = New ADODB.Recordset

rs.Open \

& willEdit & \

Dim i As Integer

For i = 0 To UBound(P) rs.Fields(i + 1) = P(i) Next i rs.UPDATE rs.Close

MsgBox \数据修改成功!\修改记录\End Sub

2、操作代码

Private Sub Command8_Click() Dim myUpdate As New RSUpdate myUpdate.tableName = \ myUpdate.editField = \ myUpdate.willEdit = Text3.Text

Call myUpdate.RecordUpdate(Text4.Text, Text5.Text, DTPicker3.Value) End Sub

(三)添加DataGrid列标题

由于在做界面时已经将数据库中字段名字标示出,所以不用每次都修改DataGrid的列明,只需将相应的列明的标签的标题添加到列名称里即可。使用该类模块请注意:DataGrid必须编辑,然后追加足够的列,否则出现“下标越界”错误。

1、类模块源码

类模块名称:AddGridColName

Public GridWillName As DataGrid

Public Sub AddColName(ParamArray P()) Dim i As Integer

For i = 0 To UBound(P)

GridWillName.Columns(i).Caption = P(i) Next End Sub

2、操作代码

Private Sub Command6_Click()

Dim myGridAdd As New AddGridColName Set myGridAdd.GridWillName = DataGrid1

Call myGridAdd.AddColName(Label1.Caption, Label3.Caption,

Label2.Caption)

End Sub

(四)添加数据到ComboBox

将经常出现的选项添加到ComboBox中简化最终用户操作。每次使用只需添写三个参数,两行代码搞定。

1、类模块源码

类模块名称:ComboAdd

Public Sub dataAdd(ByVal tableName As String, ByVal FieldName As String,

ByVal addCombo As ComboBox)

Dim rs As ADODB.Recordset Set rs = New ADODB.Recordset Dim sqlStr As String

sqlStr = \

order by \

rs.Open sqlStr, Cnn, adOpenKeyset, adLockOptimistic On Error Resume Next Do

addCombo.AddItem rs.Fields(0) rs.MoveNext Loop Until rs.EOF rs.Close End Sub

2、操作代码

Private Sub Command3_Click() Dim myCombo As New ComboAdd

Call myCombo.dataAdd(\End Sub

(五)删除记录、记录是否存在

经常用到删除记录的情况使用该类模块。已经判断了要删除的内容是否为空和删除的记录是否存在。

1、类模块源码

类模块名称:DataDelete

Public Sub dataDelete(ByVal tableName As String, ByVal FieldName As

String, ByVal WillDelete As String)

'判断要删除的内容是否为空 If WillDelete = \

MsgBox (\未选择要删除的记录!\ Exit Sub End If

'判断要删除的记录是否存在

Dim ifIsExist As New DataIsExsit

If ifIsExist.isExsit(tableName, FieldName, WillDelete) = False Then MsgBox (\该记录不存在!\ Exit Sub End If

'确认后删除记录

If MsgBox(\您确实要删除记录吗?\删除记录\

Then

Dim sqlStr As String

sqlStr = \

& WillDelete & \

Cnn.Execute (sqlStr)

MsgBox \数据删除成功!\删除记录\ Cnn.Close End If End Sub

2、操作代码

Private Sub Command1_Click() Dim myde As New dataDelete

Call myde.dataDelete(\End Sub

(六)记录集显示在DataGrid

该类模块经常用在Form_Load事件中,用于加载数据表内容。如果数据表较为庞大,不建议使用此方法。同时该模块未对打开的链接进行关闭。请注意自行关闭数据库链接。


VB6链接Oracle常用数据库操作类模块(原创、源码、说明).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:中信银行Z分行大客户管理组织模式的案例分析[整理版]

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: