文章导航PC6首页软件下载单机游戏安卓资源苹果资源

pc软件新闻网络操作系统办公工具编程服务器软件评测

安卓新闻资讯应用教程刷机教程安卓游戏攻略tv资讯深度阅读综合安卓评测

苹果ios资讯苹果手机越狱备份教程美化教程ios软件教程mac教程

单机游戏角色扮演即时战略动作射击棋牌游戏体育竞技模拟经营其它游戏游戏工具

网游cf活动dnf活动lol周免英雄lol礼包

手游最新动态手游评测手游活动新游预告手游问答

您的位置:首页技术开发ASP技巧 → 使用组件封装数据库操作二

使用组件封装数据库操作二

时间:2004/11/7 4:12:00来源:本站整理作者:蓝点我要评论(0)

前段日子发表的文章,数据库的连接代码可以直接在ASP文件中显示出来。这次又进行了一次封装。


打开vb,新建Activex控件,工程名称为WebDb,类模块名称为GetInfomation


引用”Microsoft Activex Data Object 2.6 Library ”


Private Conn As ADODB.Connection


Private Rs As ADODB.Recordset



‘作用:判断数据库是否正确连结


'自己可以更改连接串


Public Function GetConn()


Conn.Open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=Northwind;Data Source=yang"


If Err.Number <> 0 Then


    GetConn = False


Else


    GetConn = True


End If


End Function



‘根据输入的雇员ID,得到雇员的名称


Public Function GetEmployeeName(strEmployeeID As Integer) As String


   


    Dim strSql As String


    Set rs = New ADODB.Recordset


    strSql = "select LastName+firstname from employees where EmployeeID=" & strEmployeeID


   


    rs.Open strSql, Conn, adOpenStatic, adLockOptimistic


   


    If rs.EOF Then


        GetEmployeeName = ""


    Else


        GetEmployeeName = rs.Fields(0)


    End If


   


    rs.Close


End Function


‘返回所有的雇员列表


Public Function GetEmployeeList() As ADODB.Recordset


 


    Dim strSql As String


    Set rs = New ADODB.Recordset


    strSql = "select EmployeeID,LastName,FirstName,Title,TitleOfCourtesy,BirthDate,HireDate,Address,City from employees"


    rs.CursorLocation = adUseClient


    rs.Open strSql, Conn, adOpenStatic


   


    Set GetEmployeeList = rs


    'rs.Close


End Function


 


我们进行测试


新建ASP页面,”TestWebDb1.asp”。主要用来测试GetEmployeeList()方法



 



组件 ->



 


<%


    Dim strTopic


    Dim strTitle


    Dim strContents


    Dim DataQuery


       Dim Rs


       Dim Myself


       Myself=Request.ServerVariables("script_name")


    Set DataQuery=Server.CreateObject("WebDb.GetInfomation")


       Set Rs=Server.CreateObject("adodb.recordset")   


%>


</P><BR> <P>   数据<a href="http://www.baidu.com/baidu?tn=sayyes&word=asp+组件" target="_blank" rel="nofollow"><span class="unnamed8"><font color="#0000FF">组件</font></span></a>测试页</P><BR> <P>


欢迎使用数据组件(www.knowsky.com)
>


<%


       Dim Flag


       Flag=DataQuery.GetConn()


       If Flag=false then


              ResPonse.Write "数据库没有连结,请检查"


              ResPonse.End


       End if


 


       Set Rs=DataQuery.GetEmployeeList()


       if rs.eof then


              Response.write "没有数据,请查询"


              Response.end


       end if


 


    Rs.PageSize =3


    Page= CLng(Request.QueryString ("Page"))


 


    If Page < 1 Then Page = 1


    If Page > Rs.PageCount Then Page = Rs.PageCount


 


         Response.Write "

"


         Response.Write "

"


         Response.Write "

"


         Response.Write "

"


           Response.Write "

"


               Response.Write "

"


           Response.Write "

"


           Response.Write "

"


           Response.Write "

"


           Response.Write "

"


           Response.Write "

"


         Response.Write "

"


 


               Rs.AbsolutePage = Page


               For iPage = 1 To Rs.PageSize


                     Response.Write "

"


                   for i=0 to Rs.fields.count-1


                          Response.Write "

"


                      next


                     Response.Write "

"


                      Rs.MoveNext


                      If Rs.EOF Then Exit For


                next


      Response.Write "

EmployeeID LastName FirstName Title TitleOfCourtesy BirthDate HireDate Address City
"&Rs.fields.item(i)&"
"


%>


 



<%If Page <> 1 Then%>


     第一页


     上一页


<%End If%>


  <%If Page <> Rs.PageCount Then%>


  下一页


  最后的一页


<%End If%>


页次:<%=Page%>/<%=Rs.PageCount%>



 


<%


Rs.close


%>


 


 


新建ASP页面,”TestWebDb2.asp”。主要用来测试GetEmployeeName()方法


这个页面相对简单一些



 



组件 ->



 


<%


    Dim DataQuery


       Dim strID


       Dim strResult


    Set DataQuery=Server.CreateObject("WebDb.GetInfomation")


%>


 


<BR>数据<a href="http://www.baidu.com/baidu?tn=sayyes&word=asp+组件" target="_blank" rel="nofollow"><span class="unnamed8"><font color="#0000FF">组件</font></span></a>测试页<BR>


欢迎使用数据组件(www.knowsky.com)
>


<%


    If Len(Request.QueryString("ID")) > 0 Then


        strID = Request.QueryString("ID")


 


              Dim Flag


              Flag=DataQuery.GetConn()


              If Flag=false then


                     ResPonse.Write "数据库没有连结,请检查"


                     ResPonse.End


              End if


             


              strResult=DataQuery.GetEmployeeName(cint(strID))


              if strResult="" then


                     Response.Write "对不起,没有这个编号,请查询"


                     Response.End


              else


                     ResPonse.Write strResult


              end if


       End If


%>


 





       TYPE="BUTTON"


       VALUE="Search"


       ONCLICK="window.location.href = 'TestWebDb2.asp?ID=' _


               + MyForm.EmpID.Value">


 




一些想法:数据库连结如果放到组件里,如果要修改数据库连结,则要重新编译组件,可能会由此引发一些问题(但是推荐这种,毕竟数据库名和服务器名不会经常改)


如果数据库连结放到ASP页面,可以通过属性传值到组件中,但是安全性会降低。


真是……


好了,这篇文章结束了,希望对大家有帮助


今后的话题便是如何实现AspToDll这个软件的功能,我们一步一步实现。


相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 VB.NET 2005编写定时关 Jquery get/post下乱码解决方法 前台gbk gb如何使用数据绑定控件显示数据ASP脚本循环语句ASP怎么提速

人气排行 轻松解决"Server Application Error"和iis"一起学习DataGridView调整列宽用ASP随机生成文件名的函数Jquery get/post下乱码解决方法 前台gbk gbODBC Drivers错误80004005的解决办法返回UPDATE SQL语句所影响的行数的方法用Javascript隐藏超级链接的真实地址两个不同数据库表的分页显示解决方案