注册 登录
编程论坛 ASP技术论坛

关于变量和字符的问题,我真的是找不到错了;

fuhuijun 发布于 2007-11-16 19:38, 1049 次点击

把修改的红色选中
不知道是哪错了!
大家帮我看一下啊!
小弟在这谢谢大家了
<table width="84%" height="185" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#00FF66">

<form action="addnews_db.asp" name="form" method="post">


<tr>
<td width="21%" align="center" bgcolor="#FFFFFF">新闻类别:</td>
<td width="44%" bgcolor="#FFFFFF">


<select name="cate">

<%
do while not rs2.eof
if rs2.fields("tid")=id then
response.Write("<option value="rs2.fields("tid")" selected>"rs2.fields("ntype")"</option>")
else
%>
<%response.Write("<option value='"&rs2.fields("tid")&"'>"&rs2.fields("ntype")&"</option>")
end if
rs2.movenext

loop%>

<%rs2.close

set rs2=nothing

%>
</select>


</td>
<td width="35%" bgcolor="#FFFFFF">*必须填写</td>
</tr>
<tr>
<td align="center" bgcolor="#FFFFFF">新闻标题:</td>
<td bgcolor="#FFFFFF"><input type="text" name="title" value="<%=rs.fields("Title")%>"></td>
<td bgcolor="#FFFFFF">*新闻标题不能为空</td>
</tr>
<tr>
<td align="center" bgcolor="#FFFFFF">新闻内容:</td>
<td bgcolor="#FFFFFF"><textarea name="content" rows="10" cols="50"><%=rs.fields("Content")%></textarea></td>
<td bgcolor="#FFFFFF">*新闻内容不能为空!</td>
</tr>


<tr>
<td colspan="3" bgcolor="#FFFFFF"><center><input name="sub" type="submit" value="修改新闻"></center></td>



</tr>

</form>
</table>

28 回复
#2
fuhuijun2007-11-16 19:40

红色区域是从数据库里查的数据

#3
madpbpl2007-11-16 19:55

改成下面这样试试。
<%
do while not rs2.eof
if rs2("tid")=id then
response.Write("<option value='"& rs2("tid")& "' selected>"&rs2("ntype")&"</option>")
else
%>
<%
response.Write("<option value='"&rs2("tid")&"'>"&rs2("ntype")&"</option>")
end if
rs2.movenext
loop
%>
<%
rs2.close
set rs2=nothing
%>

#4
fuhuijun2007-11-17 11:13
不行啊?
#5
fuhuijun2007-11-17 11:16
他的颜色也没变
肯定还是错的?
#6
hmhz2007-11-17 11:24
[CODE]<select name="cate">
<%do while not rs2.eof%>
<option value="<%=rs2("tid")%>"<%if rs2("tid")=id then%> selected<%end if%>><%=rs2("ntype")%></option>
<%
rs2.movenext
loop
rs2.close
set rs2=nothing
%>
</select>[/CODE]
#7
fuhuijun2007-11-17 11:43
还是测试不了啊
#8
fuhuijun2007-11-17 12:01
小弟在线等者呢?
谢谢了!
#9
hmhz2007-11-17 12:07

全部代码发出来,你的ID怎么来的

#10
fuhuijun2007-11-17 12:18
好的
#11
fuhuijun2007-11-17 12:18

<!--#include virtual ="./conn.asp"-->


<%dim id,sql
id = request.form("id")
sql="select * from news where id ='"&id&"'"
set rs=server.CreateObject("ADODB.recordset")
rs.open sql,conn,1,1

%>
<%

dim sql2

set rs2 = server.CreateObject("adodb.recordset")
sql2 ="select * from nType "

rs2.open sql2,conn,1,1


%>

<table width="84%" height="185" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#00FF66">

<form action="addnews_db.asp" name="form" method="post">


<tr>
<td width="21%" align="center" bgcolor="#FFFFFF">新闻类别:</td>
<td width="44%" bgcolor="#FFFFFF">


<select name="cate">

<%
while not rs2.eof
if rs2("tid")=id then%>

<option value="<%=rs2("tid")%>" selected><%=rs2("ntype")%></option>



<%else%>

<option value="<%=rs2("tid")%>"><%=rs2("ntype")%></option>

<%end if

rs2.movenext
wend



%>

<%rs2.close

set rs2=nothing

%>
</select>


</td>
<td width="35%" bgcolor="#FFFFFF">*必须填写</td>
</tr>
<tr>
<td align="center" bgcolor="#FFFFFF">新闻标题:</td>
<td bgcolor="#FFFFFF"><input type="text" name="title" value="<%=rs.fields("Title")%>"></td>
<td bgcolor="#FFFFFF">*新闻标题不能为空</td>
</tr>
<tr>
<td align="center" bgcolor="#FFFFFF">新闻内容:</td>
<td bgcolor="#FFFFFF"><textarea name="content" rows="10" cols="50"><%=rs.fields("Content")%></textarea></td>
<td bgcolor="#FFFFFF">*新闻内容不能为空!</td>
</tr>


<tr>
<td colspan="3" bgcolor="#FFFFFF"><center><input name="sub" type="submit" value="修改新闻"></center></td>



</tr>

</form>
</table>


#12
fuhuijun2007-11-17 12:21


id 是这个<form>中的<checkbox>

<!--#include virtual="./conn.asp"-->
<%
dim tid,sql
tid=request.QueryString("tid")


%>
<%
set rs=server.CreateObject("ADODB.recordset")
sql="select * from news where Type_id='"&tid&"' order by id desc"
rs.open sql,conn,1,1
do while not rs.eof

%>
<table width="778" height="30" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#CCCCCC" bgcolor="#9D9D9D">
<form action="admin_xiugai.asp" name="xiugai" method="post">
<td width="162">
<tr>
<td bgcolor="#FFFFFF"><input type="checkbox" name="id" value="<%=rs.fields("id")%>"></td>
<td width="194" bgcolor="#FFFFFF"><%=left(rs.fields("title"),9)%></td>
<td width="186" bgcolor="#FFFFFF"><%=left(rs.fields("content"),9)%></td>
<td width="236" bgcolor="#FFFFFF"><center><input type="submit" name="sub" value="修改"></center></td>
</tr>
</form>
</table>

<%
rs.movenext
loop
rs.close
set rs=nothing
%>

#13
fuhuijun2007-11-17 12:21

谢谢!

#14
hmhz2007-11-17 12:25
你两个表的 id 和tid 有关联吗
#15
fuhuijun2007-11-17 13:10

我想起来了
等一下啊
我的大类表的id 和新闻表的 type_id 有关系,不是和id 有关系

#16
fuhuijun2007-11-17 13:16

版主


又出现了这样的错误
ADODB.Field 错误 '80020009'

BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。

/news/admin_xiugai.asp,行 0

#17
fuhuijun2007-11-17 13:29
版主:我现在做的是一个新闻管理系统,有两个表,他们两个表是一对多的关系,然后通过点击大类里的名称进入小类修改的页面
从而管理员可以对其进行修改
但是现在主要的问题是返回不了修改小类的数据?其他 的数据可以返回,但是<select>返回值的时候出错.
谢谢
#18
kira0072007-11-17 14:14
sql="select * from news where id ='"&id&"'"
这个ID是文本型数据?
如果是 自动编号 或 数值型 的要把 单引号 去掉
sql="select * from news where id ="&id&""

sql="select * from news where id ="&id
#19
fuhuijun2007-11-17 14:33
回复:(kira007)sql=
能说说理由吗?
单引号什么时候加什么时候不加
另外,我说一下就是我的大类表名是ntype,小类表名是news
大类表ntype
tid ntype
1 协会动态
2 协会大事件
3 政策法规
4 专家解读
5 中国农药
6 dfsg
7 sdfsdads
8 dfsg345245
10 dfsg345245
11 国内新闻
小类表news
id Type_id Title Content Ntime
36 1 十分十分 感到风格上豆腐干 2007-11-15 19:22:39
37 2 dgsdfg dfgdsfhgfhfghfghfg 2007-11-16 8:57:13
38 4 sgfhsg sdhgfahsdfgsadkfaksdgfasgdfgasdgfsadfsd 2007-11-16 9:31:33
43 1 sgfhsg sdhgfahsdfgsadkfaksdgfasgdfgasdgfsadfsd 2007-11-16 17:07:02
大类tid和小类type_id有关系
#20
linyesu2007-11-17 14:40

错误提示呢???

#21
fuhuijun2007-11-17 14:43

这就是错误提示
先说一下,我现在想实现的是把修改的<select>数据选中
ADODB.Field 错误 '80020009'

BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。

/news/admin_xiugai.asp,行 0

谢谢

#22
linyesu2007-11-17 15:10
是你的tid字段没有记录吧???
#23
fuhuijun2007-11-17 15:49

有啊

#24
fuhuijun2007-11-17 15:50
tid是主键啊
#25
gdk20062007-11-17 16:33
对你的id转换成数字类型:

id=Cint(Request("id"))

你将字符类型的数据和数字进行比较当然不会选种啊!!
#26
gdk20062007-11-17 16:37
以下是引用fuhuijun在2007-11-17 12:18:53的发言:

<!--#include virtual ="./conn.asp"-->


<%dim id,sql
id = request.form("id")
sql="select * from news where id ='"&id&"'"
set rs=server.CreateObject("ADODB.recordset")
rs.open sql,conn,1,1

%>
<%

dim sql2

set rs2 = server.CreateObject("adodb.recordset")
sql2 ="select * from nType "

rs2.open sql2,conn,1,1


%>

<table width="84%" height="185" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#00FF66">

<form action="addnews_db.asp" name="form" method="post">


<tr>
<td width="21%" align="center" bgcolor="#FFFFFF">新闻类别:</td>
<td width="44%" bgcolor="#FFFFFF">


<select name="cate">

<%
while not rs2.eof
if rs2("tid")=id then%>

<option value="<%=rs2("tid")%>" selected><%=rs2("ntype")%></option>



<%else%>

<option value="<%=rs2("tid")%>"><%=rs2("ntype")%></option>

<%end if

rs2.movenext
wend



%>

<%rs2.close

set rs2=nothing

%>
</select>


</td>
<td width="35%" bgcolor="#FFFFFF">*必须填写</td>
</tr>
<tr>
<td align="center" bgcolor="#FFFFFF">新闻标题:</td>
<td bgcolor="#FFFFFF"><input type="text" name="title" value="<%=rs.fields("Title")%>"></td>
<td bgcolor="#FFFFFF">*新闻标题不能为空</td>
</tr>
<tr>
<td align="center" bgcolor="#FFFFFF">新闻内容:</td>
<td bgcolor="#FFFFFF"><textarea name="content" rows="10" cols="50"><%=rs.fields("Content")%></textarea></td>
<td bgcolor="#FFFFFF">*新闻内容不能为空!</td>
</tr>


<tr>
<td colspan="3" bgcolor="#FFFFFF"><center><input name="sub" type="submit" value="修改新闻"></center></td>



</tr>

</form>
</table>


将红色的部分改掉:
<%
while not rs2.eof
%>

<option value="<%=rs2("tid")%>" <%if rs2("tid")=id then%> selected <%end if%>><%=rs2("ntype")%></option>

<%
rs2.movenext
wend
%>

#27
fuhuijun2007-11-17 17:47

改了!
但是还是出错
我已经把他的数据类型转换了
错误是:

ADODB.Field 错误 '80020009'

BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。

/news/admin_xiugai.asp,行 0

#28
xiuit2007-11-17 20:24
下面是我处理这个问题时的一直习惯写法,如有不对的地方还希望有人能告诉一下
<%if not(rs2.eof and rs2.bof) then%>
<select name="cate">
<%
do while not rs2.eof
%>
<option value="<%=rs2("tid")%>" <%if rs2("tid")=id then%>selected="selected"<%end if%>><%=rs2("ntype")%></option>
<%
rs2.movenext
loop
else

end if
rs2.close
set rs2=nothing
%>
#29
fuhuijun2007-11-17 20:27

好的
等我去公司在试一下,谢谢你了啊?
呵呵 !

1