| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
学习型 ASP/PHP/ASP.NET 主机 35元/年全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付
赛孚耐:软件保护加密专家身份认证令牌USB KEY  
共有 587 人关注过本帖
标题:[求助]怎样实现ASP下拉菜单连接到SQL数据库中表单字段
收藏  订阅  推荐  打印 
clarksjtv
Rank: 2
等级:注册会员
帖子:98
积分:1080
注册:2007-5-28
[求助]怎样实现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-5-28 13:23
clarksjtv
Rank: 2
等级:注册会员
帖子:98
积分:1080
注册:2007-5-28

我后来参考网上其他人的代码写了,还是没有办法显示出来。
<!--#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-5-28 13:25
clarksjtv
Rank: 2
等级:注册会员
帖子:98
积分:1080
注册:2007-5-28

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

2007-5-28 13:28
islet
Rank: 12Rank: 12Rank: 12
等级:贵宾
威望:89
帖子:6552
积分:65834
注册:2005-1-28

小控件 有问题找我

[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-5-28 14:14
clarksjtv
Rank: 2
等级:注册会员
帖子:98
积分:1080
注册:2007-5-28

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

2007-5-28 15:36
clarksjtv
Rank: 2
等级:注册会员
帖子:98
积分:1080
注册:2007-5-28

<!--#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-5-28 15:58
enlangs
Rank: 3Rank: 3
等级:中级会员
威望:2
帖子:215
积分:2254
注册:2007-5-28

[CODE]select id,className from class order by id[/CODE]
从表class中选择id,className两项内容以id降序排列输出.

个人blog:http://hi,baidu.com/aa00
个人网站:http://www.jevan.com.cn
2007-5-28 16:07
enlangs
Rank: 3Rank: 3
等级:中级会员
威望:2
帖子:215
积分:2254
注册:2007-5-28

[CODE]set d=new islet_list[/CODE]
是新建islet_list类的一个对象


建议看下VBS的教程....

个人blog:http://hi,baidu.com/aa00
个人网站:http://www.jevan.com.cn
2007-5-28 16:10
islet
Rank: 12Rank: 12Rank: 12
等级:贵宾
威望:89
帖子:6552
积分:65834
注册:2005-1-28

[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-5-28 16:20
clarksjtv
Rank: 2
等级:注册会员
帖子:98
积分:1080
注册:2007-5-28

终于搞定了,原来是软件环境问题,我以前是用的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-6-11 15:33
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.078787 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved