当前位置: 移动技术网 > IT编程>开发语言>.net > 介绍一个制作下拉菜单完全不同的办法

介绍一个制作下拉菜单完全不同的办法

2019年01月12日  | 移动技术网IT编程  | 我要评论
我是头一回知道这个方法,以前从没听用过,以前如果我从里读出内容来制作下拉菜单的话都是用循环来做的,现在,让我们来看一下老外的办法。利用recordset.getstring来制作动
我是头一回知道这个方法,以前从没听用过,以前如果我从里读出内容来制作下拉菜单的话都是用循环来做的,现在,让我们来看一下老外的办法。

利用recordset.getstring来制作动态下拉菜单。

adodb.recordset的getstring方法有一些bug,但是你使用得小心一点的话它可以为您工作的很好。
先介绍一下getstring的用法……如下:

stringvalue = rsobject.getstring( format, numrows, columndelimiter, rowdelimiter, ifnull )

只要建立了rs对象,并且执行了相应操作,不管那是返回一条或者多条记录,甚至是空记录,getstring照样工作,但是如果不加注意的话,这个结果可能就不大好玩了,:p(这个老外也够幽默的)

format参数只有一个合法值,而且是可选的,让我们略过不管它,如果您想返回全部记录的话,那么那个numrows参数也可以不管它了(可选),ifnull……照我的理解就象tsql里的isnull函数差不多,如果是null,则随便搞个值替换它,所以也不管它。

剩下两个参数了。。。。不多说废话了,先看他们的例子

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

你用过吗。。。

看到了吗?可以直接从查询中返回结果。
再进一步,您可以这样做(access(小型网站之最爱)下我试过)

<%
sql = "select <option value= & value & > & text & </option> from table order by text"

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网