'一段完整的ASP脚本代码,用于访问WINCC的本地数据库,但是格林威治时间未调整,已经具备了分页显示功能,但里面有隐含BUG.(调试段的),对于数据库访问者可能有帮助,同时欢迎各位讨论这个话题
byear=request.form("byear")
bmon=request.form("bmon")
bday=request.form("bday")
bhour=request.form("bhour")
subbhour=bhour-8
bmin=request.form("bmin")
bsec=request.form("bsec")
eyear=request.form("eyear")
emon=request.form("emon")
eday=request.form("eday")
ehour=request.form("ehour")
subehour=ehour-8
emin=request.form("emin")
esec=request.form("esec")
'response.write "你查询的年为: "& eyear & "
"
'response.write "你查询的月为: "& emon & "
"
'response.write "你查询的日为: "& eday & "
"
'response.write "你查询的时为: "& ehour & "
"
'response.write "你查询的分为: "& emin & "
"
'response.write "你查询的秒为: "& esec & "
"
mypage=request.QueryString("whichpage")
if mypage=""then
mypage=1
end if
mypagesize=request.querystring("pagesize")
'如果为空,
if mypagesize=""then
mypagesize=5
end if
cbyear = CStr(byear)
cbmon = CStr(bmon)
cbday = CStr(bday)
cbhour = CStr(subbhour)
cbmin = CStr(bmin)
cbsec = CStr(bsec)
ceyear = CStr(eyear)
cemon = CStr(emon)
ceday = CStr(eday)
cehour = CStr(subehour)
cemin = CStr(emin)
cesec = CStr(esec)
btime = cbyear + "-" + cbmon + "-" + cbday + " " + cbhour + ":" + cbmin + ":" + cbsec
etime = ceyear + "-" + cemon + "-" + ceday + " " + cehour + ":" + cemin + ":" + cesec
'btime = "2006-03-11 14:19:00"
'etime = "2006-03-11 12:04:00"
'st = FormatDateTime(btime, vbGeneralDate)
'et = FormatDateTime(etime, vbGeneralDate)
sbtime = CStr(btime)
setime = CStr(etime)
mytime1=request.QueryString("sbt")
if mytime1="" then
mytime1=sbtime
end if
mytime2=request.QueryString("set")
if mytime2="" then
mytime2=setime
end if
session("savesbtime")=mytime1
session("savesetime")=mytime2
on error resume next
dim connstr,myconn,mysql
connstr="provider=winccoledbprovider.1;data source=.\wincc;catalog=cc_database_06_03_11_17_11_58R;user id=DBA,password=SQL;"
'mysql="TAG:R,'DATABASE\produ','2006-03-11 14:19:01.00','2006-03-11 14:24:00.00'"
'mysql2="TAG:R,'DATABASE\tempu','2006-03-11 14:19:01.00','2006-03-11 14:24:00.00'"
mysql="TAG:R,'DATABASE\produ','"+mytime1+"','"+mytime2+"'"
mysql2="TAG:R,'DATABASE\tempu','"+mytime1+"','"+mytime2+"'"
set myconn=server.createobject("adodb.connection")
myconn.connectionstring=connstr
myconn.cursorlocation=3
myconn.open
response.write "DATA PROVIDER: "& myconn.provider & "
"
response.write "DATA version: "& myconn.version & "
"
set ors=server.createobject("adodb.recordset")
set orstemp=server.createobject("adodb.recordset")
ors.cursorlocation=aduseclient
ors.cachesize=5
orstemp.cursorlocation=aduseclient
ors.cachesize=5
set ocom=server.createobject("adodb.command")
ocom.commandtype=1
set ocom.activeconnection=myconn
ocom.commandtext=mysql
set ors=ocom.execute
'ors.pagesize=mypagesize'
m=ors.fields.count
k=ors.recordcount
ocom.close
set ocom=nothing
set ocom2=server.CreateObject("adodb.command")
ocom2.commandtype=1
set ocom2.activeconnection=myconn
ocom2.commandtext=mysql2
set orstemp=ocom2.execute
if (m>0)then
ors.move 0
orstemp.move 0
ors.pagesize=mypagesize
orstemp.pagesize=mypagesize
maxcount1=cint(ors.pagecount)
maxcount2=cint(orstemp.pagecount)
ors.absolutepage=mypage
orstemp.absolutepage=mypage
howmanyrecs=0
response.write"当前页:"&mypage&"总页数:"&maxcount1&"
"
n=0
response.write "你查询到的记录数为:"& k &"
"
response.write "查询记录的开始时间为:"&ors.fields(1).value&"
"
response.write"
"
response.write "| ID | 日期/时间 | 产品1 | 温度1 |
"
do while not ors.eof and cint(howmanyrecs)n=n+1
response.write "| " &ors.fields(0).value& " | " &ors.fields(1).value& " | " &ors.fields(2).value& " | " &orstemp.fields(2).value& " |
"
if (n>40)then exit do
ors.movenext
orstemp.movenext
howmanyrecs=howmanyrecs+1
loop
response.write"
"
else
response.write "record count="&m&"
"
end if
scpriptname=request.servervariables("s criptname")'get current page path
for counter=1 to maxcount2
if counter>=10 then
pad=" "
end if
testtime1=server.urlencode(session("savesbtime"))
testtime2=server.urlencode(session("savesetime"))
ref="
"&pad&counter&""
response.write ref &" "
if counter mod 10=0 then
response.write "
"
end if
next
ors.close
set ors=nothing
orstemp.close
set orstemp=nothing
ocom2.close
set ocom2=nothing
myconn.close
set myconn=nothing