数据库转换问题(急!!!)
各路大侠麻烦帮我瞧瞧这N级树型目录的数据库转换问题!
我在网上下了个ACCESS的,用得是蛮爽,可转成MS SQL就给卡住了!
说var rssort = Server.CreateObject("ADODB.Recordset");这一行出错,原因是内存不足!
下面的代码:
<%@LANGUAGE="JAVASCRIPT"%>
<!--#include file="conn.asp"-->
<%
Response.CacheControl = "no-cache"
%>
<%
function ShowId(id,parentid,name){//显示
var rssort = Server.CreateObject("ADODB.Recordset");
rssort.ActiveConnection = MM_fsyuxidata_STRING;
rssort.Source = "SELECT * FROM tree where parentid="+id;
//rssort.Source = "SELECT id,parent as parentid,nodename as name FROM QY_AptitudeClassIndex where parent="+id;
//判断是否是最后一级(检索数据库查看时候还有子节点)
rssort.CursorType = 3;
rssort.CursorLocation = 3;
rssort.LockType = 3;
rssort.Open();
if(rssort.RecordCount==0){//判断是否是最后一级,如果是最后一级则显示树的最后一级(insdoc),否则继续展开(insFld)
var strOutput1 = "insDoc(ax"+parentid+", gLnk (0,'"+name+"','#','ftv2doc.gif'));";
Response.Write(strOutput1);
}
else{
var strOutput1 = "ax"+id+"=insFld(ax"+parentid+", gFld ('"+name+"','#','ftv2folderopen.gif', 'ftv2folderclosed.gif'));";
Response.Write(strOutput1);
}
rssort.close();
}
function ShowTopic(){//初始tree
var rsreply = Server.CreateObject("ADODB.Recordset");
rsreply.ActiveConnection = MM_fsyuxidata_STRING;
rsreply.Source = "SELECT * FROM tree";
//rsreply.Source = "SELECT id,parent as parentid,nodename as name FROM QY_AptitudeClassIndex";
rsreply.CursorType = 3;
rsreply.CursorLocation = 3;
rsreply.LockType = 3;
rsreply.Open();
ShowChieldren(rsreply,0,0);
rsreply.Close();
}
function ShowChieldren(rsreply,iParentId,iPreviousFilter){//取子节点,形成递归
var iCurrentLocation;
rsreply.Filter = " parentid = '" + iParentId+"'";
if(rsreply.RecordCount!=0){
if(!rsreply.BOF) rsreply.MoveFirst();
while(!rsreply.EOF){
ShowId(rsreply.Fields.Item("id").value,rsreply.Fields.Item("parentid").value,rsreply.Fields.Item("name").value);
iCurrentLocation = rsreply.AbsolutePosition;
ShowChieldren(rsreply,rsreply.Fields.Item("id").Value,rsreply.Filter);
//循环内调用自身取符合Filter的记录
rsreply.AbsolutePosition = iCurrentLocation;
rsreply.MoveNext();
}
}
rsreply.Filter = iPreviousFilter;
}
%>
<HTML><HEAD><TITLE>--Tree--</TITLE>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
<SCRIPT src="tree.js" type="text/javascript"></script>
</HEAD>
<BODY>
<DIV align=left>
<TABLE border=0 cellpadding="0" cellspacing="0" >
<TR>
<TD>
<script>
ax0 = gFld("企业信息");
<%
ShowTopic();
%>
initializeDocument();
</script>
</TD>
</TR>
</TABLE>
</BODY></HTML>
在MS SQL里边的表结构和字段名跟ACCESS里的一样!