求助,关于阿信的xtree树,谁有改成sql版的经验,几个技术问题求助,在线等!

研究汽车的米舞指 2004-08-05 09:26:03
1.server.asp里面,ActiveConnection = dbConn;
CommandType = 4;
CommandText = "dtree";
var objRs=Execute(null,parseInt(id));
dtree是存储过程吧,这个写在哪里,为什么我找不到?
2.我需要改字段名称,为什么parentid这个字段始终在各个页里都找不到?

3.谁能给我讲讲原理.
谢谢!
...全文
239 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
cuipi2003 2004-08-05
  • 打赏
  • 举报
回复
var dbConn=Server.CreateObject("adodb.connection");
dbConn.Open(Application("strConn"));
//var dbCmd=Server.CreateObject("adodb.command");
//with(dbCmd){
// ActiveConnection = dbConn;
// CommandType = 4;
// CommandText = "DeptTree";
// var objRs=Execute(null,parseInt(id));
//}
var objRs=Server.CreateObject("adodb.recordset");
var sql="SELECT (select count(*) from xtree where xtree.parentid=x.id) AS children, *
FROM xtree AS x
WHERE parentid="+id+"";
objRs=dbConn.Execute(sql)
  • 打赏
  • 举报
回复
后建立一个存储过程名字也叫dtree就可以了

SELECT (select count(*) from xtree where xtree.parentid=x.id) AS children, *
FROM xtree AS x
WHERE parentid=[@parentid];
这句话直接写在sql存储过程好象不行的!?要声明吧.如何改写?
  • 打赏
  • 举报
回复
因为数据库我不方便修改.
SELECT (select count(*) from xtree where xtree.parentid=x.id) AS children, *
FROM xtree AS x
WHERE parentid=[@parentid];
这句话能否在程序中建立?我替换到text中去,结果无法运行.
还有,阿信的代码只要有一点错误就显示无法加载,看不到出错信息,很难调试,有没有解决方法?
cuipi2003 2004-08-05
  • 打赏
  • 举报
回复
tree.asp?id=0
测试,如果xml能正常现实就表示通过了
cuipi2003 2004-08-05
  • 打赏
  • 举报
回复
和global没关系
css目录中的htc和xsl一定要有
然后修改tree.asp文件的数据库连接
用三sql的导入功能把表导入数据库,然后建立一个存储过程名字也叫dtree就可以了
  • 打赏
  • 举报
回复
天啊, 我不知道改了什么地方,现在连运行都看不到了.显示加载失败!
global.asp是不是一定要放网站跟目录下?index.asp呢
cuipi2003 2004-08-05
  • 打赏
  • 举报
回复
程序不需要该,数据库连接改一下就可以了
把那个试图中的sql语句建一个一样dtree的存储过程,代码拷贝进入就能用了
  • 打赏
  • 举报
回复
请问你改 成sql版本,需要改哪些页面,还有视图怎么改?
cuipi2003 2004-08-05
  • 打赏
  • 举报
回复
access的存储过程写在查询里面的,就是那个试图dtree
我改成sql server版本了
parentid就是xtree那张表中的一个字段
原理是基于xml和js
  • 打赏
  • 举报
回复
兄弟误会了我的意思,我不是传值给tree,而是从树中将选中的id传回母页面。他的onclick事件都写在xtree.htc里面的。
折腾了一下午,虽然原先不会xml,不过现在大概搞清楚他的结构了。
加一段:
function mousedblclick(bid)
{
//alert('s');
var e=window.event.srcElement;
var E=e.parentNode;
//alert(E.type);
if(E.type=='parent'){alert('请选择底层单位');return false;}
opener.form1.xbudgetid.value=E.uid;
opener.form1.xbudgetname.value=E.uname;
window.close();
}

ok!
贴出来也许对以后碰到问题的兄弟有帮助!
cuipi2003 2004-08-05
  • 打赏
  • 举报
回复
不需要修改xtree.htc
只要把参数传过去就行了
<link rel="stylesheet" type="text/css" href="css/xtree.css">
<div id="xtree" class="xtree" XmlSrc="tree/tree.asp?ID=<%=request("ID")%>"></div>
这样就可以了,如果你一定要修改htc就要修改xsl
htc和xsl文件主要是要修改路径的问题,建议还是不要改动目录结构的好,我比较懒所以没有改
这连个文件只要目录结构一直可以复用的
  • 打赏
  • 举报
回复
好了,读取数据我已经搞定了.
现在第二个难题,我想把选中的id传到operner页面中去,需要修改xtree.htc控件了,该怎么改?
因为牵涉到树里面的属性和方法,可能比较难.不知道兄弟有没有做过?
如果能帮我弄好,我另送100分,谢谢~

28,390

社区成员

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

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