标题:[求助]怎样实现ASP下拉菜单连接到SQL数据库中表单字段
只看楼主
clarksjtv
Rank: 1
等 级:新手上路
帖 子:98
专家分:0
注 册:2007-5-28
 问题点数:0 回复次数:9 
[求助]怎样实现ASP下拉菜单连接到SQL数据库中表单字段

我在SQL里面新建一个库,库里有一个表,我想让表里面的两个字段与ASP下拉菜单中的两个下拉按钮绑定起来。怎么样实现。
比如SQL表里有Name和age字段里面分别有张三和18岁.
ASP里面有name和age下拉菜单。要从数据库里面读出值显示在下拉菜单里面。

我遇到的困难如下:
我先建了两个asp页面,一个是test.asp里面有name和age,另一个asp页面是conn.asp
我在conn.asp里面先连接数据库代码如下(错了请大家指正)
<%
dim conn,rs,sql
set conn=server.createobject("ADODB.Connection")
conn.Open "driver={SQLServer};server=127.0.0.1;database=examsys;UID=sa;PWD=kusila;"
set rs=server.createobject("ADODB.Recordset")
%>

test.asp里面要怎么样做?
代码要怎么样实现

搜索更多相关主题的帖子: SQL 数据库 单字 中表 ASP 
2007-05-28 13:23
clarksjtv
Rank: 1
等 级:新手上路
帖 子:98
专家分:0
注 册:2007-5-28
得分:0 

我后来参考网上其他人的代码写了,还是没有办法显示出来。
<!--#include file="inc/conn.asp"-->


<form method="POST" action="--WEBBOT-SELF--">
<%set rs=conn.execute("select * from tab")%>

<p><select size="1" name="name">

<%do while not rs.eof%>
<option value="<%=rs("name")%>"><%=rs("name")%></option>
<%rs.movenext
loop
%>

</select><select size="1" name="age">
<%rs.movefirst
do while not rs.eof
%>
<option selected value="<%=rs("age")%>"><%=rs("age")%></option>
<%rs.movenext
loop
rs.close
set rs=nothing%>
</select></p>
<p><input type="submit" value="提交" name="B1"><input type="reset" value="重置" name="B2"></p>
</form>

2007-05-28 13:25
clarksjtv
Rank: 1
等 级:新手上路
帖 子:98
专家分:0
注 册:2007-5-28
得分:0 

我浏览时,下拉菜单选项是:
">
两个都是一样的。有没有高手帮忙指点下。

2007-05-28 13:28
islet
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:89
帖 子:6548
专家分:0
注 册:2005-1-28
得分:0 
小控件 有问题找我

[QUOTE]
<%class islet_list
public texts,values,id 'texts:显示字段 values:value字段 id:下拉名称
public sub DataBind(rs,indexid) 'rs:数据集 indexid 定义默认值
dim str
if texts="" then texts=0
if values="" then values=texts
str="<select id="""&id&""" name="""&id&""">"&vbcrlf
do while not rs.eof
str=str&"<option value="""&rs(values)&""""
if rs(values)=indexid then str=str&" selected"
str=str&">"&rs(texts)&"</option>"&vbcrlf
rs.movenext
loop
str=str&"</select>"&vbcrlf
rs.close
set rs=nothing
response.Write(str)
end sub
end class%>

[/QUOTE]
示例
[QUOTE]
<!--#include file="inc/conn.asp"-->
sql="select id,className from class order by id"
rs.open sql,conn,1,1
set d=new islet_list
d.texts="className" '定义显示字段
d.values="id" '定义value字段
d.id="lei" '定义下拉名称
d.databind rs,0 '数据邦定,没有默认值
%>

[/QUOTE]
2007-05-28 14:14
clarksjtv
Rank: 1
等 级:新手上路
帖 子:98
专家分:0
注 册:2007-5-28
得分:0 

版主,我的代码中错在哪里,能否指出来了。我好修改。
你给的示例,我没有看懂了。

2007-05-28 15:36
clarksjtv
Rank: 1
等 级:新手上路
帖 子:98
专家分:0
注 册:2007-5-28
得分:0 
<!--#include file="inc/conn.asp"-->
sql="select id,className from class order by id"
rs.open sql,conn,1,1
set d=new islet_list
d.texts="className" '定义显示字段
d.values="id" '定义value字段
d.id="lei" '定义下拉名称
d.databind rs,0 '数据邦定,没有默认值
%>

版主,这一段代码放在哪个位置?
sql="select id,className from class order by id" ’这一行的解释是不是选择ID,班级姓名从class表中 byID是做什么用的?
set d=new islet_list ’这一行也不太明白。
版主能否帮忙再解释下。
2007-05-28 15:58
enlangs
Rank: 1
等 级:等待验证会员
威 望:2
帖 子:218
专家分:0
注 册:2007-5-28
得分:0 
[CODE]select id,className from class order by id[/CODE]
从表class中选择id,className两项内容以id降序排列输出.
2007-05-28 16:07
enlangs
Rank: 1
等 级:等待验证会员
威 望:2
帖 子:218
专家分:0
注 册:2007-5-28
得分:0 
[CODE]set d=new islet_list[/CODE]
是新建islet_list类的一个对象


建议看下VBS的教程....
2007-05-28 16:10
islet
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:89
帖 子:6548
专家分:0
注 册:2005-1-28
得分:0 
[QUOTE]

<%
'数据库连接省略 建立Connection对象conn
sql="select id,className from class order by id"
rs.open sql,conn,1,1
sub DownLIst(rs,id,texts,values,indexid)
'rs:数据集 id:下拉名称 text:显示字段 values:value字段 indexid 默认值
dim str
if texts="" then texts=0
if values="" then values=texts
str="<select id="""&id&""" name="""&id&""">"&vbcrlf
do while not rs.eof
str=str&"<option value="""&rs(values)&""""
if rs(values)=indexid then str=str&" selected"
str=str&">"&rs(texts)&"</option>"&vbcrlf
rs.movenext
loop
str=str&"</select>"&vbcrlf
rs.close
set rs=nothing
response.Write(str)
end sub
DownLIst rs,"lei","className","id",0
%>

[/QUOTE]
2007-05-28 16:20
clarksjtv
Rank: 1
等 级:新手上路
帖 子:98
专家分:0
注 册:2007-5-28
得分:0 

终于搞定了,原来是软件环境问题,我以前是用的windows2003+SQL2000,没有办法,我今天换成Windows2000+SQL2000,就可以了。

<%
set rs2=server.createobject("adodb.recordset")
sql2="select * from info_testitem order by projectCustomer"
rs2.open sql2,conn,1,1
do while not rs2.eof %>
<option value="<%=rs2("ProjectCustomer")%>"><%=rs2("ProjectCustomer")%></option>
<% rs2.movenext
loop
rs2.close %>

2007-06-11 15:33



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-142957-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.141254 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved