特色栏目

ASP源码

PHP源码

.NET源码

JSP源码

游戏频道
专题合集
关闭菜单
首页> ASP教程> 使用组件封装数据库操作(二)

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

时间:2009-06-24 16:42:04 作者:互联网

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

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

引用”Microsoft Activex Data Object 2.6 Library ”

Private Conn As AD***.Connection

Private Rs As AD***.Recordset


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

'自己可以更改连接串

Public Function GetConn()

Co***Open "Pr***der=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=Northwind;Data Source=yang"

If Er***umber <> 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 AD***.Recordset

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

   

    rs.Open strSql, Conn, adOpenStatic, adLockOptimistic

   

    If rs.EOF Then

        GetEmployeeName = ""

    Else

        GetEmployeeName = rs***elds(0)

    End If

   

    rs.Close

End Function

‘返回所有的雇员列表

Public Function GetEmployeeList() As AD***.Recordset

 

    Dim strSql As String

    Set rs = New AD***.Recordset

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

    rs***rsorLocation = adUseClient

    rs.Open strSql, Conn, adOpenStatic

   

    Set GetEmployeeList = rs

    'rs.Close

End Function

 

我们进行测试

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

 

 

<%

    Dim strTopic

    Dim strTitle

    Dim strContents

    Dim DataQuery

       Dim Rs

       Dim Myself

       My***f=Request.ServerVariables("script_name")

    Set Da***uery=Server.CreateObject("We***.GetInfomation")

       Set Rs***rver.CreateObject("ad***.recordset")   

%>

</P> <P>   数据组件测试页</P> <P>

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

<%

       Dim Flag

       Fl***DataQuery.GetConn()

       If Flag=false then

              Re***nse.Write "数据库没有连结,请检查"

              Re***nse.End

       End if

 

       Set Rs***taQuery.GetEmployeeList()

       if rs.eof then

              Re***nse.write "没有数据,请查询"

              Re***nse.end

       end if

 

    Rs***geSize =3

    Page= CLng(Re***st.QueryString ("Page"))

 

    If Page < 1 Then Page = 1

    If Page > Rs***geCount Then Page = Rs***geCount

 

         Re***nse.Write "

"

         Re***nse.Write "

"

         Re***nse.Write "

"

         Re***nse.Write "

"

           Re***nse.Write "

"

               Re***nse.Write "

"

           Re***nse.Write "

"

           Re***nse.Write "

"

           Re***nse.Write "

"

           Re***nse.Write "

"

           Re***nse.Write "

"

         Re***nse.Write "

"

 

               Rs***solutePage = Page

               For iPage = 1 To Rs***geSize

                     Re***nse.Write "

"

                   for i=0 to Rs***elds.count-1

                          Re***nse.Write "

"

                      next

                     Re***nse.Write "

"

                      Rs***veNext

                      If Rs.EOF Then Exit For

                next

      Re***nse.Write "

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

%>

 

<%If Page <> 1 Then%>

     第一页

     上一页

<%End If%>

  <%If Page <> Rs***geCount Then%>

  下一页

  Rs***geCount%>">最后的一页

<%End If%>

页次:<%=Page%>/<%=Rs***geCount%>

 

<%

Rs.close

%>

 

 

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

这个页面相对简单一些

 

 

<%

    Dim DataQuery

       Dim strID

       Dim strResult

    Set Da***uery=Server.CreateObject("We***.GetInfomation")

%>

 

<BR>数据组件测试页<BR>

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

<%

    If Len(Re***st.QueryString("ID")) > 0 Then

        strID = Re***st.QueryString("ID")

 

              Dim Flag

              Fl***DataQuery.GetConn()

              If Flag=false then

                     Re***nse.Write "数据库没有连结,请检查"

                     Re***nse.End

              End if

             

              st***sult=DataQuery.GetEmployeeName(cint(strID))

              if strResult="" then

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

                     Re***nse.End

              else

                     Re***nse.Write strResult

              end if

       End If

%>

 

       TYPE="BUTTON"

       VALUE="Search"

       ONCLICK="wi***w.location.href = 'Te***ebDb2.asp?ID=' _

               + My***m.EmpID.Value">

 


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

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

真是……

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

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

相关文章 最新文章

相关应用

热门文章

猜你喜欢

返回顶部