|
|
|
7i24.Com不停为您服务 当Recordcount返回-1时怎样计算记录数目
<%
' BEGIN CONSTANT DEFINITION
' The following command includes the ADODB VBScript
constants file.
' If you can't find your copy you can download a copy from:
' http://www.asp101.com/samples/download/adovbs.inc
' It may not be the most recent copy so use it at your own
risk.
%>
<!-- #INCLUDE FILE="./download/adovbs.inc" -->
<%
' DB Configuration variables
' After this, strictly used as if it were a Const.
Dim DB_CONNSTRING
DB_CONNSTRING = "DRIVER={Microsoft Access Driver
(*.mdb)};DBQ=" & Server.Mappath("./db_scratch.mdb") & ";"
' Now we override the above setting so the sample uses our
SQL server.
' Comment out the following line to use the sample Access
DB.
DB_CONNSTRING = Application("SQLConnString") & _
"UID=" & Application("SQLUsername") & ";" & _
"PWD=" & Application("SQLPassword") & ";"
' END CONSTANT DEFINITION
%>
<%
Dim rsCount ' The recordset object
' Create an instance of an ADO Recordset
Set rsCount = Server.CreateObject("ADODB.Recordset")
' Open RS
' I'm actually doing this directly (without a connection object) to
keep
' the code short and to the point. I'm opening the RS with a static
' cursor, read only, and telling it that "scratch" is a table name and
' not a SQL command. If I don't specify how to open the rs, I'd get
the
' default cursor type which doesn't support .RecordCount!
rsCount.Open "scratch", DB_CONNSTRING, adOpenStatic, adLockReadOnly,
adCmdTable
' Show RecordCount
' I dress it up and pop it into the middle of a sentence, but you can
' do whatever you want with it.
Response.Write "This table currently has <B><FONT COLOR=""#FF0000"">"
Response.Write rsCount.RecordCount ' This is the line that does it!
Response.Write "</FONT></B> records in it!<BR>" & vbCrLf
'=====================================================================
=
' BEGIN TABLE DISPLAY
' Now I'm going to display the table if they requested it just so you
' have something to look at! This really doesn't pertain to the topic
' of this sample so I'm going to keep the code short but feel free to
' look it over and if you do please notice the pretty HTML it outputs!
' Ugly HTML output is a pet peeve of mine! ;)
If LCase(Request.QueryString("showtable")) = "true" Then
Dim Field ' Field Looper for display
Dim bColor ' Use for showing alternating colors
bColor = False
' Spacers and intro
Response.Write "<BR>" & vbCrLf & "They are:<BR>" & vbCrLf
& "<BR>" & vbCrLf
' Start the table
Response.Write "<TABLE BORDER=""1"">" & vbCrLf
' Write Titles
Response.Write vbTab & "<TR>" & vbCrLf
For Each Field in rsCount.Fields
Response.Write vbTab & vbTab & "<TD
BGCOLOR=""#CCCCCC""><B>" & Field.Name & "</B></TD>" & vbCrLf
Next 'Field
Response.Write vbTab & "</TR>" & vbCrLf
' Loop through records outputting data
Do While Not rsCount.EOF
Response.Write vbTab & "<TR>" & vbCrLf
For Each Field in rsCount.Fields
Response.Write vbTab & vbTab & "<TD
BGCOLOR="""
' Decide what color to output
If bColor Then
Response.Write "#CCCCFF" '
Light blueish
Else
Response.Write "#FFFFFF" ' White
End If
Response.Write """>" & Field.Value
& "</TD>" & vbCrLf
Next 'Field
Response.Write vbTab & "</TR>" & vbCrLf
' Toggle our colors
bColor = Not bColor
rsCount.MoveNext
Loop
' End the table
Response.Write "</TABLE>" & vbCrLf
Response.Write "<BR><A HREF=""db_count.asp"">Hide the
table</A>" & vbCrLf
Else
Response.Write "<BR><A HREF=""db_count.asp?
showtable=true"">Show the table</A>" & vbCrLf
End If
' END TABLE DISPLAY - Now back to our regularly scheduled code!
'=====================================================================
=
' Close and dispose of recordset object
rsCount.Close
Set rsCount = Nothing
%>
|
|
|