展会信息港展会大全

asp能用数据库操作类 android软件开发教程
来源:互联网   发布日期:2016-03-01 13:14:49   浏览:1434次  

导读:Sub DeleteObject(ByRef obj) Set obj = nothing obj = null End Sub Class CDB private m_oConn, m_oRS private m_pageIndex, m_pageSize, m_pageCount, m_recordCount private strError private m_QueryString private Sub Class_Initialize() m_oConn = n...

Sub DeleteObject(ByRef obj)

Set obj = nothing

obj = null

End Sub

Class CDB

private m_oConn, m_oRS

private m_pageIndex, m_pageSize, m_pageCount, m_recordCount

private strError

private m_QueryString

private Sub Class_Initialize()

m_oConn = null

m_oRS = null

m_pageIndex = 1

m_pageSize = 10

m_pageCount = 1

m_recordCount = 0

Call connect()

End Sub

private property Get GetConnectionString()

if InStr(LCase(Request.ServerVariables("SCRIPT_NAME")), "/admin/") > 0 then

GetConnectionString = "Provider=microsoft.jet.oledb.4.0;data source=" & Server.MapPath("DataBasedata.mdb")

else

GetConnectionString = "Provider=microsoft.jet.oledb.4.0;data source=" & Server.MapPath("AdminDataBasedata.mdb")

end if

end property

public property Let SetPageSize(num)

if Not isNumeric(num) then Exit property

num = CInt(num)

if num > 0 Then m_pageSize = num

End property

'object.AppendSearch(paraName) = paraValue

public property Let AppendQueryString(paraName, paraValue)

m_QueryString = m_QueryString & "&"& paraName & "=" & Server.URLEncode(paraValue)

end property

public property Let SetPageIndex(num)

if Not isNumeric(num) then Exit property

num = CInt(num)

if num > 0 then m_pageIndex = num

End property

public default function toString()

toString = strError

end function

private sub Connect()

Set m_oConn = Server.CreateObject("ADODB.Connection")

m_oConn.ConnectionString= GetConnectionString

m_oConn.Open()

if err then

strError = err.Description

Response.write("Sorry, failed to connect Database!")

err.Clear()

DeleteObject(m_oConn)

Response.End()

end if

end sub

private sub Close(ByRef DBObject)

if 1 = DBObject.state then Call DBObject.Close()

end sub

public function ExecuteScalar(strSql)

ExecuteScalar = m_oConn.Execute(strSql)(0)

end function

public sub Execute(ByVal strSql)

if (Not isObject(m_oConn)) then Exit Sub

m_oConn.Execute(strSql)

end sub

private function OpenRS()

OpenRS = false

if ((Not isObject(m_oConn)) Or m_oConn.State = 0) thenexit function

if (isObject(m_oRS)) then

if 1 = m_oRS.State then Call m_oRS.Close()

else

Set m_oRS = Server.CreateObject("ADODB.RecordSet")

end if

OpenRS = true

end function

public function GetData(ByVal strSql)

if not OpenRS() then

GetData = null

exit function

end if

call m_oRS.Open(strSql, m_oConn, 1, 1)

if m_oRS.EOF then

GetData = null

else

GetData = m_oRS.GetRows()

end if

m_oRS.Close()

end function

public function GetMultPageData(ByVal strSQL)

if Not OpenRS() then

GetMultPageData = null

exit function

end If

Call m_oRS.Open(strSQL, m_oConn, 1, 1)

if m_oRS.EOF then

GetMultPageData = null

else

m_oRS.PageSize = m_pageSize

m_recordCount = m_oRS.RecordCount

m_pageCount = m_oRS.PageCount

if (m_pageIndex > m_pageCount) then m_pageIndex = m_pageCount

m_oRS.AbsolutePage = m_pageIndex

GetMultPageData = m_oRS.GetRows(m_pageSize)

end if

Call m_oRS.Close()

end function

public function PageInfo(style)

Dim sHtml : set sHtml = new StringBuild

sHtml.SetValue = "<div id=""divPageNav"">"

call sHtml.AppendFormat("<label>共:{0}记录,当前:{1}/{2}:</label>", Array(m_recordCount, m_pageIndex, m_pageCount))

Select Case style

Case 1 :if 1 = m_pageIndex then

call sHtml.Append("<span>首页</span><span>上页</span>")

else

call sHtml.AppendFormat("<a href=""?page=1{0}"">首页</a><a href=""?page={1}{0}"">上页</a>", Array(m_QueryString,m_pageIndex - 1))

end if

if m_pageCount = m_pageIndex then

call sHtml.Append("<span>下页</span><span>尾页</span>")

else

call sHtml.AppendFormat("<a href=""?page={1}{0}"">下页</a><a href=""?page={2}{0}"">尾页</a>", Array(m_QueryString, m_pageIndex + 1, m_pageCount))

end if

Case 2 :dim interval, startPage, endPage, i

interval = 5

startPage = m_pageIndex - interval

ifstartPage < 1 then startPage = 1

endPage = startPage + 2 * interval

ifendPage > m_pageCount then endPage = m_pageCount

startPage = endPage - 2 * interval

ifstartPage < 1 then startPage = 1

if 1 = m_pageIndex then

call sHtml.Append("<span style=""font-family: Webdings;"">9</span><span style=""font-family: Webdings;"">7</span>")

else

call sHtml.AppendFormat("<a href=""?page=1{0}"" style=""font-family: Webdings;"">9</a><a href=""?page={1}{0}"" style=""font-family: Webdings;"">7</a>", Array(m_queryString, CStr(m_pageIndex - 1)))

end if

for i = startPage to m_pageIndex-1

call sHtml.AppendFormat("<a href=""?page={1}{0}"">{1}</a>", Array( m_queryString, CStr(i)))

next

call sHtml.Append("<span>" & m_pageIndex & "</span>")

for i = m_pageIndex+1 to endPage

call sHtml.AppendFormat("<a href=""?page={1}{0}"">{1}</a>", Array( m_queryString, CStr(i)))

next

if m_pageCount = m_pageIndex then

sHtml.Append("<span style=""font-family:Webdings;"">8</span><span style=""font-family:Webdings;"">:</span>")

else

call sHtml.AppendFormat("<a href=""?page={1}{0}"" style=""font-family: Webdings;"">8</a><a href=""?page={2}{0}"" style=""font-family: Webdings;"">:</a>", Array(m_queryString,m_pageIndex+1,m_pageCount))

end if

end Select

call sHtml.Append("</div>")

PageInfo = sHtml

DeleteObject(sHtml)

end function

private Sub Class_Terminate()

Close(m_oRS)

Close(m_oConn)

DeleteObject(m_oRS)

DeleteObject(m_oConn)

End Sub

end Class

dim i, oDB, arrData : set oDB = new CDB

oDB.SetPageSize = 2

oDB.SetPageIndex = Request.QueryString("page")

arrData = oDB.GetMultPageData("SELECT [TITLE] FROM [CLASS]")

for i = 0 to ubound(arrData, 2)

echo(arrData(0, i) & "<br/>")

next

echo(oDB.PageInfo(1))

DeleteObject(oDB)

赞助本站

人工智能实验室

相关热词: 开发 编程 android

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港