动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > ASP技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ ASP技巧 ]的信息

本月文章推荐
.如何尽快释放掉Connection对象建.
.在ASP中如何访问Novell下的数据库.
.Access2000数据库80万记录通用快.
.用XML数据岛解决用户界面问题 - 1.
.外源.js的选择调用与一个.htm网站.
.用js制作完善的日,月组合下拉框..
.将指定的asp文件内容生成HTML文件.
.20种看asp源码的方法及工具.
.ASP.Net中程序构架与程序代码的分.
.在ASP中通过oo4o连接Oracle数据库.
.使用正则表达式实现模式图片新闻.
.利用MSCHART画图的一段代码.
.HTTP_REFERER的工作方式.
.Access与Sql Server之ASP代码比较.
.ASP日期和时间函数示例.
.一种效率极高的分类算法 .
.全面了解Cookie的传递流程、编程.
.如何增强ASP程序性能(4).
.怎样用HtmlEncode显示Unicode?.
.ASP中Cookie使用指南.

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

发表日期:2004-9-16 |


前段日子发表的文章,数据库的连接代码可以直接在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()方法

<HEAD>

 

<!- 测试页 ->

<!- 功能:测试组件 ->

<!- 作者:龙卷风.NET ->

 

<%

    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")   

%>

<TITLE>

   数据组件测试页

</TITLE>

<H1><CENTER>欢迎使用数据组件(www.knowsky.com)</CENTER></H1>

<%

       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 "<CENTER><TABLE BORDER=1 cellspacing=0 cellpadding=2>"

         Response.Write "<tr BGCOLOR=silver align=center>"

         Response.Write "<td>EmployeeID</TD>"

         Response.Write "<td>LastName</td>"

           Response.Write "<td>FirstName</td>"

               Response.Write "<td>Title</a></td>"

           Response.Write "<td>TitleOfCourtesy</a></td>"

           Response.Write "<td>BirthDate</td>"

           Response.Write "<td>HireDate</td>"

           Response.Write "<td>Address</td>"

           Response.Write "<td>City</td>"

         Response.Write "</tr>"

 

               Rs.AbsolutePage = Page

               For iPage = 1 To Rs.PageSize

                     Response.Write "<TR align=right>"

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

                          Response.Write "<td>"&Rs.fields.item(i)&"</td>"

                      next

                     Response.Write "</TR>"

                      Rs.MoveNext

                      If Rs.EOF Then Exit For

                next

      Response.Write "</TABLE></CENTER>"

%>

 

<Form name="myform" method="get">

<%If Page <> 1 Then%>

     <A HREF="<%=Myself%>?Page=1">第一页</A>

     <A HREF="<%=Myself%>?Page=<%=(Page-1)%>">上一页</A>

<%End If%>

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

  <A HREF="<%=Myself%>?Page=<%=(Page+1)%>">下一页</A>

  <A HREF="<%=Myself%>?Page=<%=Rs.PageCount%>">最后的一页</A>

<%End If%>

页次:<FONT COLOR="Red"><%=Page%>/<%=Rs.PageCount%></FONT>

</Form>

 

<%

Rs.close

%>

 

 

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

这个页面相对简单一些

<HEAD>

 

<!- 测试页 ->

<!- 功能:测试组件 ->

<!- 作者:龙卷风.NET ->

 

<%

    Dim DataQuery

       Dim strID

       Dim strResult

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

%>

 

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

<H1><CENTER>欢迎使用数据组件(www.knowsky.com)</CENTER></H1>

<%

    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

%>

 

<FORM NAME="MyForm">

<INPUT TYPE=TEXTBOX NAME="EmpID" SIZE=40><P>

<INPUT LANGUAGE="VBScript"

       TYPE="BUTTON"

       VALUE="Search"

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

               + MyForm.EmpID.Value">

 

</FORM>
</HEAD>

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

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

真是……

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

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

上一篇:使用组件封装数据库操作(一) 人气:11582
下一篇:如何在pb中创建COM组件,并在asp中调用并返回结果集? 人气:11308
浏览全部ASP组件的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-10-14 25175学生成绩管理系统 v2.88
2008-10-14 冰雪CMS v2.0 bulid 081013
2008-10-14 Modoer多功能点评系统 v1.1 Beta
2008-10-14 乐风CMS乐风影视版 v2008.10.13
2008-10-14 FeitecCMS 40T免费资源网整站源码
2008-10-14 Asoft签到管理系统 v3.0 Pack2
2008-10-14 金博人才招聘求职网黄金版 v4.2
2008-10-14 游戏推广无限制版本
2008-10-14 AmEav WebSite 业网站管理系统 英
2008-10-11 联系人分组工具 v1.1 中文破解版
2008-10-11 FaceMelter变脸 v2.0 汉化破解版
2008-10-11 PathTracker道路跟踪仪 v1.2 破解
2008-10-11 Rooms手机聊天室 v0.6.7 破解版
2008-10-11 RemoteDesktop远程桌面 v1.0 破解
2008-10-11 ProRemote远程调音台 v1.0.1 破解
2008-10-11 PicShare照片共享 v1.0.0 破解版
2008-10-11 Photogene照片编辑器 v1.5 汉化破
2008-10-11 WriteRoom共享文档 v1.0 破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | js/vbs加密 | md5加密 | 进制转换 | UTF-8 转换工具 | Html转换js | Html转换asp | Html转换php | Html转换perl
实用工具:汉字翻译拼音 | 拼音字典 | 符号对照表 | 个税计算 | 实时汇率查询换算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 | 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵
SEO対策 中国語教室 ホームページ作成