国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

介紹一個制作下拉菜單完全不同的辦法

2019-11-18 21:11:23
字體:
供稿:網(wǎng)友
我是頭一回知道這個方法,以前從沒聽用過,以前如果我從數(shù)據(jù)庫里讀出內(nèi)容來制作下拉菜單的話都是用循環(huán)來做的,現(xiàn)在,讓我們來看一下老外的辦法。

利用RecordSet.GetString來制作動態(tài)下拉菜單。

adodb.recordset的getstring方法有一些BUG,但是你使用得小心一點的話它可以為您工作的很好。
先介紹一下GETSTRING的用法……如下:

stringValue = rsObject.GetString( format, numRows, columnDelimiter, rowDelimiter, ifNull )

只要建立了RS對象,并且執(zhí)行了相應(yīng)操作,不管那是返回一條或者多條記錄,甚至是空記錄,getstring照樣工作,但是如果不加注意的話,這個結(jié)果可能就不大好玩了,:P(這個老外也夠幽默的)

FORMAT參數(shù)只有一個合法值,而且是可選的,讓我們略過不管它,如果您想返回全部記錄的話,那么那個numrows參數(shù)也可以不管它了(可選),IFNULL……照我的理解就象TSQL里的isnull函數(shù)差不多,如果是NULL,則隨便搞個值替換它,所以也不管它。

剩下兩個參數(shù)了。。。。不多說廢話了,先看他們的例子

<TABLE Border=1>
<TR><TD>
<% = Response.Write rs.GetString( , , "</TD><TD>", "</TD></TR><TR>", ) %>
</TABLE>
這樣寫的HTML結(jié)果如下:
<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>
<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>"
%>

你用過嗎。。。

看到了嗎?可以直接從查詢中返回結(jié)果。
再進一步,您可以這樣做(access下我試過)

<%
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>"
%>
……………………

:(

不多說了

希望能對你有所幫助

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 望江县| 南郑县| 伊通| 牙克石市| 新宁县| 林芝县| 老河口市| 卓资县| 富裕县| 鹿邑县| 红安县| 东方市| 古蔺县| 腾冲县| 长武县| 汉寿县| 台安县| 峨山| 方城县| 牡丹江市| 托克逊县| 东安县| 密云县| 信丰县| 运城市| 汝城县| 宜君县| 庆阳市| 星座| 石嘴山市| 陈巴尔虎旗| 荣昌县| 都匀市| 平乐县| 宜宾市| 溧水县| 宜城市| 南丹县| 米易县| 济宁市| 塔城市|