为什么在SQL server2000中不行?

jnsemt 2002-03-30 01:50:53
我做了一个框架Frame(frame.htm)包括:tree1.asp,user.asp,form.asp,数据库为sql server2000,用到两个数据表:机构表(jg)包含机构代码(xldm)、机构名称(jgmc)两个字段,人员表(rxxx)包含姓名(xm),职业(zy),机构代码(xldm),我想实现的功能是:在tree.asp中实现机构的树型目录(已实现),当用户在tree.asp中选择某一机构时,通过机构表中的xldm字段关联人员表中的xldm字段,在user.asp中显示出该机构下的所有人员(在sql server2000中显示不出来,而用Access数据库却可以??!!!!),同时把选择的机构名称(jgmc)传到form.asp中(已实现),若用户在user.asp中选择了某一人员,也把选择的人员传到form.asp中,为什么在SQL server2000中不能显示出人员?是语法有问题吗?我觉得是user.asp中的问题,程序代码如下(
user.asp

<%@ Language=VBScript EnableSessionState=true%>
<%
set conn=server.createobject("adodb.connection")
conn.open strconn
set rs=server.createobject("adodb.recordset")
set rs1=server.createobject("adodb.recordset")
rs.open "select * from jg1 order by xldm asc",strconn,1,3
%>
<script language=javascript>
<!--
function click1(j)
{
eval("window.parent.main.form1.t"+document.all.hid1.value+"1").value=j;
}
var arr=new Array();/* 定义数组,用来存储记录集中的人员姓名 */
<%
while not rs.eof
%>
var arr<%=rs("xldm")%>=new Array();
<%
rs1.open "select * from ryxx1 where xldm='"&rs("xldm")&"'",strconn,1,1
if rs1.eof then
%>
arr<%=rs("xldm")%>[0]="<font color=#ff0000>该部门无人</font>";
<%
end if
for i=0 to rs1.recordcount-1
%>
arr<%=rs("xldm")%>[<%=i%>]="<%=rs1("xm")%>";
<%
rs1.movenext
next
rs1.close
rs.movenext
wend
rs.close
%>
<%
rs.open "select distinct xldm from ryxx1 order by xldm asc",strconn,1,3
while not rs.eof
%>
var arr<%=rs("xldm")%>=new Array();
<%
rs1.open "select * from ryxx1 where xldm='"&rs("xldm")&"'",strconn,1,1
for i=0 to rs1.recordcount-1
%>
arr<%=rs("xldm")%>[<%=i%>]="<%=rs1("xm")%>";
<%
rs1.movenext
next
rs1.close
rs.movenext
wend
rs.close
set rs=nothing
set rs1=nothing
conn.close
set conn=nothing
%>
//-->
</script>
<body bgcolor="#FFFFFF" text="#000000">
<input type=hidden name=hid value="" onpropertychange="netshClock();">
<input type=hidden name=hid1 value="">

<script language='JavaScript'>
<!--
var value1="";
function netshClock()
{
var value2=document.all.hid.value;
if (!document.layers && !document.all)
return;
movingtime="";
if(document.all.hid.value!="")
{
for(var e=0;e<eval("arr"+document.all.hid.value).length;e++)
{
if(eval("arr"+document.all.hid.value)[e]!="<font color=#ff0000>该部门无人</font>")
{
movingtime=movingtime+"<a href='###' onclick=click1('"+eval("arr"+document.all.hid.value)[e]+"');>"+eval("arr"+document.all.hid.value)[e]+"</a>"+"<br>";
}
else
movingtime="<font color=#ff0000>部门无人</font>";
}
}
if (document.layers)
{
document.layers.Myclock.document.close();
document.layers.Myclock.document.write (movingtime);
}
else if (document.all)
{
Myclock.innerHTML = movingtime;
}
if(value1==value2)
setTimeout('netshClock();',10);
}
-->
</script>
<span id=Myclock style='position:relative;'></span>
<script>netshClock();</script>
</body>



可能太罗嗦了,烦请各位大虾看一下
...全文
65 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
zcflion 2002-04-02
  • 打赏
  • 举报
回复
或是在取出来的时候,把它trim一下,去掉首尾的空格
tripofdream 2002-04-02
  • 打赏
  • 举报
回复
因为char类型是定长的,不足的会自动用空格填充,改用varchar(10),varchar是变长的.
jnsemt 2002-04-02
  • 打赏
  • 举报
回复
我还发现一个奇怪的问题,在sql server2000中定义表user1中的username字段时,该字段数据类型为char,长度为10,在其中添入数据时,若数据不满10个字符,则在程序运行时中都没有显示,而必须是有10个字符,程序中才显示该用户的username!!!怎么回事??
jnsemt 2002-04-01
  • 打赏
  • 举报
回复
那为什么程序在Access中可以运行呢?而在sql server2000中却不行
tripofdream 2002-04-01
  • 打赏
  • 举报
回复
因为"'"(单引号)和"""(双引号)在javascript中被用作字符变量和字符串的分界符,所以不能直接在字符串中写这两个符号,而用一些特定的字符组合来表示,在前面加一反斜杠,用"\'"和"\""分别表示单,双引号(这跟vbs中用两个双引号表示一个双引号是一样道理)
tripofdream 2002-03-31
  • 打赏
  • 举报
回复
You should use a backslash("\") to escape the quotation mark "'".that is,you should use "'\" instead of "'" in string movingtime.
document.write()的参数movingtime中的"'"(单引号)和"""(双引号)要加转义字符"\"表示.
nimweb 2002-03-31
  • 打赏
  • 举报
回复
太长,有点看不动哦。
jnsemt 2002-03-31
  • 打赏
  • 举报
回复
梦之旅,我不太明白,能详细解释一下吗?谢谢了
jnsemt 2002-03-30
  • 打赏
  • 举报
回复
因为若机构下若无人,则user.asp显示“该部门无人”,但若有人,则user.asp什么也不显示
jnsemt 2002-03-30
  • 打赏
  • 举报
回复
希诺,这条语句有问题吗?
movingtime=movingtime+"<a href='###' onclick=click1('"+eval("arr"+document.all.hid.value)[e]+"');>"+eval("arr"+document.all.hid.value)[e]+"</a>"+"<br>";
jnsemt 2002-03-30
  • 打赏
  • 举报
回复
啊,希诺,你在啊,快帮我看看啊
希偌 2002-03-30
  • 打赏
  • 举报
回复
我估计没有愿意看那么多代码!

28,409

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧