好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > asp中記錄集對象的getrows和getstring用法分析

asp中記錄集對象的getrows和getstring用法分析

熱門標簽:外呼線路批發 地圖標注陽江 java外呼系統是什么 梧州市地圖標注 濟源電銷外呼系統線路 創意電話機器人 武穴地圖標注 世界地圖標注了哪些城市 石家莊慧營銷外呼系統

GetRows 方法

將 Recordset 對象的多個記錄復制到數組中。
語法

array = recordset.GetRows( Rows, Start, Fields )

返回值
返回二維數組。
參數
Rows 可選,長整型表達式,指定要檢索記錄數。默認值為 adGetRowsRest (-1)。
Start 可選,字符串或長整型,計算得到在 GetRows 操作開始處的記錄的書簽。也可使用下列 BookmarkEnum 值。

常量           說明
AdBookmarkCurrent   從當前記錄開始。
AdBookmarkFirst     從首記錄開始。
AdBookmarkLast     從尾記錄開始。

Fields 可選,變體型,代表單個字段名、順序位置、字段名數組或順序位置號。ADO 僅返回這些字段中的數據。
說明
使用 GetRows 方法可將記錄從 Recordset 復制到二維數組中。第一個下標標識字段,第二個則標識記錄號。當 GetRows 方法返回數據時數組變量將自動調整到正確大小。
如果不指定 Rows 參數的值,GetRows 方法將自動檢索 Recordset 對象中的所有記錄。如果請求的記錄比可用記錄多,則 GetRows 僅返回可用記錄數。
如果 Recordset 對象支持書簽,則可以通過傳送該記錄的 Bookmark 屬性值,來指定 GetRows 方法將從哪個記錄開始檢索數據。
如要限制 GetRows 調用返回的字段,則可以在 Fields 參數中傳送單個字段名/編號或者字段名/編號數組。
在調用 GetRows 后,下一個未讀取的記錄成為當前記錄,或者如果沒有更多的記錄,則 EOF 屬性設置為 True。

GetString方法

查詢數據庫顯示表格時,我們常用Do While()...Loop 或者是For...Next循環來顯示表格,這樣當我們要查詢大量數據時,勢必會比較慢。這時,我們就可以用記錄集對象提供的GetString()方法(ADO必須升級到2.0)。
語法

Str=objRecordset.GetString(format,n,coldel,rowdel,nullexpr)

參數說明:
objRecordset:已打開的記錄集對象;
format:可選,一般取默認值(默認值為2)
n:可選,顯示記錄的數量,默認值為全部顯示
coldel:可選,列界定符
rowdel:可選,行界定符
nullexpr:可選,該參數用于填充空字段!
有了GetString方法,我們就可以僅用一個Response.Write來顯示所有的輸出了,它就象是能判斷Recordset是否為EOF的DO ... LOOP循環。
用這個方法,可以自動的循環輸出字符串,就不用再去while或for循環了,只要建立了RS對象,并且執行了相應操作,不管那是返回一條或者多條記錄,甚至是空記錄,getstring照樣工作。
要從Recordset的結果里生成HTML表格,我們只需關心GetString的5個參數中的3個:coldel(分隔記錄集的列的HTML代碼),rowdel(分隔記錄集的行的HTML代碼),和nullexpr(當前記錄為空時應生成的HTML代碼)。

TABLE Border=1> 
TR>TD> 
% = Response.Write rs.GetString( , , "/TD>TD>", "/TD>/TR>TR>", ) %> 
/TABLE> 

這樣寫的HTML結果如下:

TABLE Border=1> 
TR> 
TD>row1, field1 value/TD> 
TD>row1, field2 value/TD> 
/TR> 
TR> 
TD>row2, field1 value/TD> 
TD>row2, field2 value/TD> 
/TR> 
/TABLE> 

這里有個BUG了,再看看生成下拉選單:

% 
Set RS = conn.Execute("Select theValue,theText FROM selectOptionsTable orDER BY theText") 
optSuffix = "/OPTION>"  vbNewLine 
valPrefix = "OPTION Value='" 
valSuffix = "'>" 
opts = RS.GetString( , , valSuffix, optSuffix  valPrefix, "--error--" ) 
' Next line is the key to it! 
opts = Left( opts, Len(opts)-Len(valPrefix) ) 

Response.Write "Select ...>"  vbNewLine 
Response.Write valPrefix  opts 
Response.Write "/Select>" 
%> 

如果想建立一個正確的表格的話,解決那個BUG,只要這樣做就可以了:

% 
Set RS = conn.Execute("Select * FROM table") 
tdSuffix = "/TD>"  vbNewLine  "TD> 
trPrefix = "TR>"  vbNewLine  "TD>" 
trSuffix = "/TD>"  vbNewLine  "/TR>"  vbNewLine  "TR>"  vbNewLine 
opts = RS.GetString( , , tdSuffix, trSuffix  trPrefix, "--error--" ) 
' Next line is the key to it! 
opts = Left( opts, Len(opts)-Len(trPrefix) ) 
Response.Write "TABLE Border=1 CellPadding=5>"  vbNewLine 
Response.Write trPrefix  opts 
Response.Write "/TABLE>"  vbNewLine 
%>

再介紹一個完全不同的辦法:

% 
SQL = "Select 'OPTION Value=''',value,'''>',text,'/OPTION>' FROM table orDER BY text" 
Set RS = conn.Execute(SQL) 
Response.Write "Select>"  vbNewLine  RS.GetString(,,"",vbNewLine)  "/Select>" 
%> 

你用過嗎。。。

看到了嗎?可以直接從查詢中返回結果。
再進一步,您可以這樣做:

% 
SQL = "Select 'OPTION Value='''  value  '''>'  text  '/OPTION>' FROM table orDER BY text" 
Set RS = conn.Execute(SQL) 
Response.Write "Select>"  vbNewLine  RS.GetString(,,"",vbNewLine)  "/Select>" 
%> 

下面是一份完整的示例:

Script Output:
711855 Wednesday 23 3/23/2005 1:33:37 AM
711856 Wednesday 23 3/23/2005 1:23:00 AM
711857 Wednesday 23 3/23/2005 1:26:34 AM
711858 Wednesday 23 3/23/2005 1:33:53 AM
711859 Wednesday 23 3/23/2005 1:30:36 AM

ASP完整代碼如下:

% 
' Selected constants from adovbs.inc: 
Const adClipString = 2 

' Declare our variables... always good practice! 
Dim cnnGetString ' ADO connection 
Dim rstGetString ' ADO recordset 
Dim strDBPath ' Path to our Access DB (*.mdb) file 
Dim strDBData ' String that we dump all the data into 
Dim strDBDataTable ' String that we dump all the data into 
' only this time we build a table 
' MapPath to our mdb file's physical path. 
strDBPath = Server.MapPath("db_scratch.mdb") 

' Create a Connection using OLE DB 
Set cnnGetString = Server.CreateObject("ADODB.Connection") 

' This line is for the Access sample database: 
'cnnGetString.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="  strDBPath  ";" 
' We're actually using SQL Server so we use this line instead. 
' Comment this line out and uncomment the Access one above to 
' play with the script on your own server. 
cnnGetString.Open "Provider=SQLOLEDB;Data Source=10.2.1.214;" _ 
 "Initial Catalog=samples;User Id=samples;Password=password;" _ 
 "Connect Timeout=15;Network Library=dbmssocn;" 

' Execute a simple query using the connection object. 
' Store the resulting recordset in our variable. 
Set rstGetString = cnnGetString.Execute("Select * FROM scratch") 

' Now this is where it gets interesting... Normally we'd do 
' a loop of some sort until we ran into the last record in 
' in the recordset. This time we're going to get all the data 
' in one fell swoop and dump it into a string so we can 
' disconnect from the DB as quickly as possible. 
strDBData = rstGetString.GetString() 

' Since I'm doing this twice for illustration... I reposition 
' at the beginning of the RS before the second call. 
rstGetString.MoveFirst 

' This time I ask for everything back in HTML table format: 
strDBDataTable = rstGetString.GetString(adClipString, -1, _ 
"/td>td>", "/td>/tr>"  vbCrLf  "tr>td>", " ") 

' Because of my insatiable desire for neat HTML, I actually 
' truncate the string next. You see, GetString only has 
' a parameter for what goes between rows and not a seperate 
' one for what to place after the last row. Because of the 
' way HTML tables are built, this leaves us with an extra 
' tr>td> after the last record. GetString places the 
' whole delimiter at the end since it doesn't have anything 
' else to place there and in many situations this works fine. 
' With HTML it's a little bit weird. Most developers simply 
' close the row and move on, but I couldn't bring myself to' 
leave the extra row... especially since it would have a 
' different number of cells then all the others. 
' What can I say... these things tend to bother me. ;) 
strDBDataTable = Left(strDBDataTable, Len(strDBDataTable) - Len("tr>td>")) 

' Some notes about .GetString: 
' The Method actually takes up to 5 optional arguments: 
' 1. StringFormat - The format in which to return the 
' recordset text. adClipString is the only 
' valid value. 
' 2. NumRows - The number of rows to return. Defaults 
' to -1 indicating all rows. 
' 3. ColumnDelimiter - The text to place in between the columns. 
' Defaults to a tab character 
' 4. RowDelimiter - The text to place in between the rows 
' Defaults to a carriage return 
' 5. NullExpr - Expression to use if a NULL value is 
' returned. Defaults to an empty string. 
' Close our recordset and connection and dispose of the objects. 
' Notice that I'm able to do this before we even worry about 
' displaying any of the data! 
rstGetString.Close 
Set rstGetString = Nothing 
cnnGetString.Close 
Set cnnGetString = Nothing 

' Display the table of the data. I really don't need to do 
' any formatting since the GetString call did most everything 
' for us in terms of building the table text. 
Response.Write "table border=""1"">"  vbCrLf 
Response.Write "tr>td>" 
Response.Write strDBDataTable 
Response.Write "/table>"  vbCrLf 
' FYI: Here's the output format you get if you cann GetString 
' without any parameters: 
Response.Write vbCrLf  "p>Here's the unformatted version:/p>"  vbCrLf 
Response.Write "pre>"  vbCrLf 
Response.Write strDBDataResponse.Write "/pre>"  vbCrLf 

' That's all folks! 
%> 

下面給大家補充一下

ASP里使用GetString來循環讀取數據的具體方法及實例

在ASP里,我們要循環讀取數據時,我們通常用的是 while ... wend   或者 do while() .. loop,但這種方法非常的沒有效率,并且會影響網頁程序打開的速度。

當我們只是從數據庫里讀取并顯示數據的時候,我們可以用GetString來加速讀取數據,并顯示到網頁上,使用GetString會大大增加我們從數據庫讀取數據的效率。

本文站長就和大家來說說ASP里使用GetString的方法,先來看GetString的具體語法結構:

Str=objRecordset.GetString(format,n,coldel,rowdel,nullexpr)
'參數:
objRecordset :為我們打開的rs記錄集
format:可選,一般取默認值(默認值為2)
n:可選,顯示記錄的數量,默認值為全部顯示
coldel:可選,列界定符
rowdel:可選,行界定符
nullexpr:可選,該參數用于填充空字段!

下面站長給大家提供一個完整的實例:

%
set conn = server.CreateObject("adodb.connection")
conn.open "Driver={Microsoft Access Driver (*.mdb)};DBQ="  server.MapPath("study.mdb")
set rs = server.createobject("adodb.recordset") 
sql = "sel ect * from users"
rs.open sql,conn,1,1 
str=rs.GetString(,,"/td>td>","/td>/tr>tr>td>","該字段為空!")
Response.Write("table border=1>tr>td>"str"/td>/tr>/table>")
%>

以上就是asp中記錄集對象的getrows和getstring用法分析的詳細內容,更多關于記錄集 getrows getstring的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • 用GetString提高ASP的速度
  • asp ADO GetString函數與用GetString來提高ASP的速度
  • asp中在JScript中使用RecordSet對象的GetRows
  • 在asp中通過getrows實現數據庫記錄分頁的一段代碼
  • asp中通過getrows實現數據庫記錄分頁的一段代碼

標簽:滁州 南寧 唐山 來賓 揭陽 淮北 甘南 迪慶

巨人網絡通訊聲明:本文標題《asp中記錄集對象的getrows和getstring用法分析》,本文關鍵詞  asp,中,記錄,集,對象,的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《asp中記錄集對象的getrows和getstring用法分析》相關的同類信息!
  • 本頁收集關于asp中記錄集對象的getrows和getstring用法分析的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 边摸边吃奶边做视频吹潮| 久久久久久久久网站| 挺进丰满美妇后菊| 日本一级理论片在线大全| 与美国禁忌同尺度的电影| 5566影音先锋丝袜美腿| 久久文化传媒有限公司在哪里| chinahd成人3d| h网站免费| 大型商场女厕偷拍mp4| 天天躁恨恨躁夜躁2020软件| 最新国产精品亚洲二区| 中文字幕在线一区| 亚洲国产第一区二区香蕉日日| 新婚夜被别人开了苞诗岚| 不戴乳罩的体育课h| 被几男人按着强行吃奶| 吃奶摸下面免费视频在线观看| 邻居的大屁股阿?让我好爽| 暧暧视频高清免费观看中文| 王府调教妻妾打屁股臀缝| 日本一级人爱做c片免费| 欧美性猛交乱大交xxxx| 穿成黑心莲的沙雕徒弟| 久久久国产精华液2024特点| 古代三?片在线播放免费| 香蕉狠狠干| 91??丨PORNY丨成人| 公交车里揉到高潮嗯啊闺蜜视频| 色婷婷久久啪啪一区二区国模| 门卫老董的幸福生活1| 大尺度一对一视频聊天软件| 乖?好舒服?把腿张开蜜桃小说 | 欧美人妇做爰A片免费看| 亚洲秘?精品一区二区| 揉搓美女大乳视频网站| 狼群社区视频在线播放www | 丰满熟妇区毛片蜜桃美女图片| 久久久综合久久| 黄色免费在线看| 国产AV精品亚洲AV蟹美脚 |