`
wsql
  • 浏览: 12098486 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

使用VB6编写组件隐藏数据库的连接字符串

 
阅读更多

使用VB6编写组件隐藏数据库的连接字符串<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

海南省商贸信息服务中心 温大文

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />



如今,开发WEB应用程序绝大多数都是使用Browser/Server模式,而在B/S 应用程序开发领域中,微软公司的IIS/ASP组合以其强大的功能、良好的扩展能力及与其它微软产品良好的兼容性,迅速地流行起来。ASP以其简单易学、功能强大而博得广大程序员的喜爱,国内的大部分网站都是利用ASP架构的。当我们使用ADO访问数据库时,有时是把连接字符串显式的写在.ASP文件中,这样做显然不太安全,很容易被别有用心的人获取密码、数据库名等信息。为了数据的安全,我们可以自己编写组件来封装访问数据库的字符串,然后再在global.asa文件或.asp也面上调用即可。

一、下面我们就来一步一步的创建组件:

启动vb6.0新建-->ActiveX dll工程。单击"工程"-->引用,选择"microsoft active server pages object library""microsoft activeX data objects 2.1 library"两项。将类模块的名称改为WenConnection.将工程的名称改为WenADODB.保存工程文件WenADODB.vbp和类文件WenConnection.cls。具体做法:1)选择“工程”—>“引用”进入引用用户选择界面如图1所示,在“可用的引用”复选框选择"microsoft active server pages object library""microsoft activeX data objects 2.1 library"两项。

<shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"></path><lock v:ext="edit" aspectratio="t"></lock></shapetype><shape id="_x0000_i1025" style="WIDTH: 334.5pt; HEIGHT: 246pt" type="#_x0000_t75"><p align="center"><img src="http://www.csdn.net/Develop/ArticleImages/19/19379/CSDN_Dev_Image_2003-7-11657100.png" onload="javascript:if(this.width&gt;screen.width-333)this.width=screen.width-333" o:title="YinYong"></p></shape>

1

2)选择“工程”—>“工程属性”进入工程属性设置界面,选“通用”页,在“工程类型”的下拉框中选择“ActiveX DLL”,在工程名输入框中输入工程名为“WenADODB”,如图2所示。

3)再选择“编译”页,选中“代码大小优化”一项,如图3所示。

<shape id="_x0000_i1027" style="WIDTH: 329.25pt; HEIGHT: 261pt" type="#_x0000_t75"><p align="center"><img src="http://www.csdn.net/Develop/ArticleImages/19/19379/CSDN_Dev_Image_2003-7-11657104.png" onload="javascript:if(this.width&gt;screen.width-333)this.width=screen.width-333" o:title="wenConnetion01"></p></shape>

3

至此,我们对新建的工程的属性、引用等基本设置完成。

二、接下来我们就在类WenConnection.cls中写入代码:

1)首先要申明变量:

Private WenScriptingContext As ScriptingContext

Private WenApplication As Application

Private WenRequest As Request

Private WenResponse As Response

Private WenServer As Server

Private WenSession As Session

2)为了在WenConnection类中使用ASP的内建对象,必须在此类中写一个OnStartPage子函数。那是因为无论什么时候用户访问一个带有本组件的ASP文件,IIS就会把ScriptingContext传送给我们的对象请我们使用。这个ScriptingContext包括了全部的ASP方法和属性,这使得我们有能力访问所有ASP的对象。

Public Sub OnStartPage (PassedScriptingContext As ScriptingContext)

Set WenScriptingContext = PassedScriptingContext

Set WenApplication = WenScriptingContext.Application

Set WenRequest = WenScriptingContext.Request

Set WenResponse = WenScriptingContext.Response

Set WenServer = WenScriptingContext.Server

Set WenSession = WenScriptingContext.Session

End Sub

我们既然用OnStartPage函数来创建对象,那么我们这里就用OnEndPage子函数来释放对象:

Public Sub OnEndPage()

Set WenScriptingContext = Nothing

Set WenApplication = Nothing

Set WenRequest = Nothing

Set WenResponse = Nothing

Set WenServer = Nothing

Set WenSession = Nothing

End Sub

接下来定义两个函数RsResult()DataSource()

Public Function Rs(strsql As String) As Recordset

Dim oConn As Connection

DimoRs As Recordset

Dim strconnstring As String

strconnstring = "driver={sql server};server=ServerName;uid=sa;pwd=;" & _

"database=DataBaseName"

oConn.Open strconnstring

oRs.ActiveConnection = oConn

strsql="Select * From tableName"

oRs.Open strsql, oConn, 1, 3

SetRs = oRs

End Function

Public Function DataSourceConnection() As Variant

DataSourceConnection = "driver={sql server};server=ServerName;uid=sa;pwd=;database=DataBaseName"

End Function

三、 存工程名为WenADODB.vbp和保存类名为WenConnection.cls,然后点击“文件”—>“生成WenADODB.DLL”编译成动态连接库文件。VB在编译好动态连接库文件的同时也将该组件注册到注册表里了,要是想在另外一台机器上注册该组件的话,请用以下指令注册或反注册:

Regsvr32 x:/路径/WenADODB.dll x:/路径/WenADODB.dll文件存放的盘符和路径

Regsvr32 /u x:/路径/WenADODB.dll 参数U为反注册

四、 ASP文件中调用WenADODB.dll组件的例子。

<%

Set Conn=Server.CreateObject("WenADODB.WenConnection") 调用组件创建对象实例

objConn=Conn.DataSourceConnection()

application("strconn")=objConn

set Rs=Server.CreateObject("ADODB.Recordset")

sql="select * from TableName order by ID DESC"

Rs.open sql,application("strconn"),1,3

%>

<Table align="center" border="1">

<%

if Rs.Bof and Rs.Eof then

Response.Write "暂时还没有任何数据。"

else

Do while not Rs.Eof

%>

<tr width=100%>

<td width=50%><%=Rs("Field1")%></td><td width=50%><%=Rs("Field2")%></td>

</tr>

<%

Rs.MoveNext

Loop

end if

Rs.Close;Set Rs=Nothing

%>

</Table>

五、 小结

我们这里只是编写了一个连接数据库的简单的动态连接库文件,利用VB的强大组件编写功能还可以写出功能更加强大跟齐全的组件,来完成更加实用的任务。


<!--内容结束//-->
分享到:
评论

相关推荐

    vb编写的mysql数据库连接查看器

    这个“VB编写的MySQL数据库连接查看器”很可能包含了类似的代码,但可能还添加了图形用户界面(GUI)元素,如按钮、文本框和列表视图,以提供更加直观的用户体验。用户可能可以通过输入SQL语句或选择预定义的操作来...

    VB编写的MSSQL数据库连接测试工具

    【VB编写的MSSQL数据库连接测试工具】是一款利用Visual Basic(VB)编程语言开发的实用工具,专门用于测试和管理Microsoft SQL Server(MSSQL)数据库的连接性。通过这款工具,用户可以轻松地执行数据库的基本操作,...

    vb编写的自动连接数据库代码

    标题所提及的“vb编写的自动连接数据库代码”通常指的是通过VB编写的一段能够自动建立和管理数据库连接的程序。下面我们将深入探讨如何在VB中实现这一功能。 首先,我们需要引入ADO相关的引用。在VB项目中,打开...

    VB6.0编写 ADO对象连接操作Access数据库

    1. **Connection对象**:这是与数据库建立连接的基础,用于设置连接字符串、打开和关闭数据库连接。 2. **Command对象**:用于执行SQL语句或存储过程,可以带有参数。 3. **Recordset对象**:是数据的集合,可以...

    VB.NET编写的ORACLE数据库线程查询工具

    2. 创建OracleConnection对象,指定连接字符串。 3. 打开数据库连接。 4. 创建OracleCommand对象,设置SQL查询语句。 5. 使用OracleCommand执行查询,并获取OracleDataReader对象。 6. 遍历DataReader,读取并处理...

    通过VB来连接oracle数据库做查询

    接着,我们需要编写连接字符串。连接字符串包含了数据库服务器的地址、端口、数据库服务名、用户名和密码等信息。例如: ```vbnet Dim connectionString As String = "Data Source=(DESCRIPTION=(ADDRESS_LIST=...

    VB编写的用ADO压缩数据库的例子

    例如,对于Access数据库,连接字符串可能如下: ```vb Dim conn As New ADODB.Connection conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Database.mdb;" conn.Open ``` 这里,...

    实例71. 如何在VB.NET建立数据库连接_vs.NET_VB.net_数据开发_数据库_vb数据库_

    在VB.NET中建立数据库连接是...总的来说,这个实例提供了关于VB.NET中数据库连接的基本概念,包括如何构建连接字符串、创建连接对象、执行SQL命令和管理数据流。理解这些概念是开发高效、可靠的数据库应用程序的关键。

    保存到数据库程序(VB6.0源代码编写)可将数据保存到access数据库中

    1. **建立数据库连接**:首先,我们需要创建一个Connection对象实例,设置数据库的连接字符串。例如: ```vb Dim conn As New ADODB.Connection conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data...

    vb.net连接数据库并查询数据

    1. **连接字符串**:在VB.NET中,连接到数据库的第一步是创建一个连接字符串。连接字符串包含用于建立数据库连接的信息,如数据库位置、用户名、密码等。例如,对于Access数据库,连接字符串可能如下所示: ``` ...

    vb6源码:VB远程连接MySQL.zip

    标题中的“vb6源码:VB远程连接MySQL.zip”表明这是一个使用Visual Basic 6(VB6)编程语言编写的源代码,其主要功能是实现VB6应用程序与远程MySQL数据库的直接连接,不依赖PHP或其他网页服务作为中介。 描述中提到...

    vb编写的oracle数据库导入导出

    1. **Oracle连接组件**:首先,我们需要使用Oracle的客户端组件,如ODBC(Open Database Connectivity)或ODP.NET(Oracle Data Provider for .NET)来建立与数据库的连接。ODBC是通用的数据访问接口,而ODP.NET则是...

    .net数据库连接串大全

    ### .NET数据库连接串大全 ...此外,在编写代码时,合理地管理连接字符串也是保证应用程序稳定运行的关键因素之一。希望本篇文档能够帮助您更好地理解和掌握.NET中的数据库连接方式及其使用方法。

    精彩编程与编程技巧-在运行时修改DataEnvironment的连接字符串...

    在程序开发过程中,尤其是在使用Visual Basic 6.0(简称VB6)进行数据库应用程序开发时,开发者经常需要根据不同的需求动态地更改数据库连接字符串。这不仅有助于增强应用程序的灵活性,还能提升其在不同环境下的...

    VB2005连接ACCESS数据库简单实例

    本实例主要介绍如何使用VB2005来连接并操作ACCESS数据库,这对于开发小型数据管理应用程序非常实用。ACCESS数据库是一款轻量级的关系型数据库管理系统,适合个人或小团队使用。 首先,我们要了解连接数据库的基本...

    551783 VB.net数据库编程_数据库编程_数据库_vb数据库_vb.net_

    2. 创建SqlConnection对象,并通过ConnectionString属性设置数据库连接字符串。 3. 使用Open()方法打开连接。 4. 执行SQL命令,可以是SELECT、INSERT、UPDATE或DELETE等。 5. 关闭数据库连接以释放资源。 数据库...

    利用程序附加SQL Server数据库程序(VB6.0代码编写)

    总之,利用VB6.0编写程序附加SQL Server数据库涉及到数据库驱动的安装、ADO对象的使用、连接字符串的构建、SQL命令的执行以及错误处理等多个方面。通过熟练掌握这些知识点,你将能够创建功能强大的数据库应用程序。

    VB6+Access编程中的数据库操作方法.pdf

    例3则是在窗体加载时连接到Access数据库,这里的连接字符串包含了数据库的位置和类型(Microsoft.Jet.OLEDB.4.0表示Access数据库)。根据`cnn.State`判断数据库的连接状态,进一步处理。 总的来说,VB6结合Access...

    VB+sql资料主要是连接数据库的

    6. **错误处理**:在VB中,应使用Try-Catch结构来捕获和处理可能出现的数据库连接或操作错误。 7. **参数化查询**:为了避免SQL注入攻击,开发者应使用参数化查询,VB的Command对象支持这一点。 8. **数据绑定**:...

    .net不需要客户端无客户端 连接Oracle数据库附代码

    3. 创建并打开OracleConnection对象:使用连接字符串初始化一个新的连接对象,并调用Open()方法建立连接。 4. 创建OracleCommand对象:用于执行SQL命令或存储过程。 5. 执行SQL命令:设置CommandText属性为SQL语句,...

Global site tag (gtag.js) - Google Analytics