用VB6如何 *** 作ORALC数据库

用VB6如何 *** 作ORALC数据库,第1张

访问数据库,对于VB6来说,最好的就是ADO。用ODBC连接oralc

我们把对数据库的 *** 作封装在一个cDataBase类中,他主要有以下接口,

1、ConnectionString属性,MakeConnectionString方法。

一个是直接给出连接字符串,一个是动态生成连接字符串。

至于动态生成,我可以调用ADODB控件那个属性的对话框,来实现。

2、SQLCommand属性

这个是SQL命令的,直接给一个SQL命令字符串,至于格式,我们后面详细讲。

3、Parameters属性

这是一个数组参数,对应于SQL命令里的参数。(PS:最好是二维的)

综合上面的2和3二点,讲一下。

SQL命令的写法:

如果仅仅诸如select * from Table,这个没什么好讲的。

我们实际开发中,会用到许多动态的参数值,尤其是插入新记录的时候。

很多同行喜欢有拼接的方式,比如:

insert into student(id,name,password) values(1,'test','123456')

这种写法,在实际工作中,会产生一句相当难看懂的代码,

因为后面的值,全是一些变量或控件的值。

这里推荐这种写法:insert into student(id,name,password) values(?,?,?)

把这个字符串给我们的SQLCommand,

再定义一个二维数组,dim p(2) as string

p(0)="1"

p(1)="test"

p(2)="123456"

这里读者要说了,你这全是字符型啊,我ID是数字啊。

补充说明一下,数字,字符,日期,都可以定义成string。

这三种类型,是所有的数据库都支持的。

我上面PS了一下,说是定义二维的,那就是说,把参数的类型也加到数组里去,这样就比较完善了。

4、下面就是二个执行SQL语句的方法,为什么是二个呢?因为VB6不支持多态。

ExecuteSQLr方法,

此方法返回一个记录集,比如:select语法。

ExecuteSQLn方法,

此方法返回一个影响的行数,比如:insert语法,delete语法。

这二个方法,先要判断一下前面的属性有没有赋值。

接着,我们用ADO的Command对象来 *** 作。

'返回受影响的记录数,Update/Delete/Insert

Public Function ExecuteSQLn() As Long

On Error GoTo errTrap

Dim MyCon As New Connection'连接对象

Dim MyCMD As New Command 'cmd对象

MyCon.ConnectionString = DataBaseConnectionString '连接字符串

MyCon.CursorLocation = adUseClient '游标

MyCon.Open '打开连接

MyCMD.ActiveConnection = MyCon 'CMD对象的当前连接

MyCMD.CommandType = adCmdText 'CMD对象的命令类型

MyCMD.CommandText = SQLString 'CMD对象的具体命令

MyCMD.CommandTimeout = 15 'CMD对象的超时时间

If Len(XMLParameters) = 0 Then '判断是否有参数(我这里的参数不是数组,是XML字符串)

'无参数

Else

Dim p() As String, i As Long

If MyXML.XMLString2StringArray(XMLParameters, p) Then 'XML字符串转换为数组

For i = LBound(p) To UBound(p)

MyCMD.Parameters(i) = p(i) '给SQL命令中的?赋值,

Next

End If

End If

Dim N As Long

MyCMD.Execute N '执行

ExecuteSQLn = N '返回影响的行数

errExit:

Set MyCMD = Nothing '释放

MyCon.Close '关闭连接

Set MyCon = Nothing '释放

XMLParameters = "" '清空参数

SQLString = "" '清空命令

Exit Function

errTrap:

ExecuteSQLn = 0

'写错误日志

WriteLog "文件:cADO" &vbCrLf &_

"过程:ExceuteSQLn()" &vbCrLf &_

"错误号:" &Err.Number &vbCrLf &_

"错误描述:" &Err.Description

Err.Clear

Resume errExit

End Function

最简单的办法是:在VB里添加一个ADO部件,将其放到窗体中,然后右键选择属性,在其属性页的下面有个生成连接字符串的项,点击其后的按钮,然后一步步的来做(很简单的),然后连接字符串就会在那里生成,只要拷贝这个字符串,就可以用ADODB来连接了。。。

1、打开代码窗口,添加引用:Imports System.Data.SqlClient。

2、输入以下代码:

“Public conn1  As SqlConnection = New SqlConnection _

("server=192.168.1.79Initial Catalog= studentUser ID= panqePWD=shentai768@")”,vb就已经成功连接sql数据库了。

3、代码详解:声明关键字Public(因为是全局变量,所以用Public 来声明)。

4、连接参数。

5、如果SQL 数据库就在本机,则用以下代码连接:

("server=.Integrated Security=FalseInitial Catalog= studentUser ID= panqePWD=shentai768@")。

6:如果代码太长,影响可读性,可以用空格加"_"后,回车换行。


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

原文地址:https://54852.com/sjk/9624306.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存