ASP源码
PHP源码
.NET源码
JSP源码
前段日子发表的文章,数据库的连接代码可以直接在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")
%>
数据组件测试页
<%
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 "
EmployeeID | "LastName | "FirstName | "Title | "TitleOfCourtesy | "BirthDate | "HireDate | "Address | "City | "
"&Rs***elds.item(i)&" | "
%>
%>">最后的一页
<%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")
%>
<%
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
%>
一些想法:数据库连结如果放到组件里,如果要修改数据库连结,则要重新编译组件,可能会由此引发一些问题(但是推荐这种,毕竟数据库名和服务器名不会经常改)
如果数据库连结放到ASP页面,可以通过属性传值到组件中,但是安全性会降低。
真是……
好了,这篇文章结束了,希望对大家有帮助
今后的话题便是如何实现AspToDll这个软件的功能,我们一步一步实现。