<%@ Page Language="C#" AutoEventWireup="true" ValidateRequest="false" CodeBehind="inputBBSDate.aspx.cs" Inherits="ZYDN.Web.system.inputBBSDate.inputBBSDate" %>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>导入论坛数据</title>
    <link rel="stylesheet" type="text/css" href="../skins/CSS/main.css" />
    <link rel="stylesheet" type="text/css" href="../skins/CSS/Sys.css" />
     <style type="text/css">
         table{border="0" cellpadding="0" cellspacing="0"}
         .biaotouTd{border-top:1px #cccccc solid;font-size:12px;font-weight:bold; text-align:left;boder:1px #cccccc solid; line-height:20px; padding-left:5px;}
        .oushutd{border-top:1px #cccccc solid; font-size:12px; text-align:left;color:#01439a; line-height:20px;background-color:#F0F5FB;padding-left:5px;padding-right:5px;}
        .jishutd{border-top:1px #cccccc solid;text-align:left; line-height:20px;font-size:12px;background-color:#FFFFFF;padding-left:5px;padding-right:5px;}
        .divBorders{border-bottom:solid 1px #01439a; border-right:solid 1px #01439a; border-left:solid 1px #01439a;}
    </style>
    <script type="text/javascript" language="javascript" src="../JS/JFramework.js"></script>
    <script type="text/javascript" language="javascript" src="../JS/Sys.js"></script>
    <script type="text/javascript" language="javascript">
	var objAjax=new JAjax();
	var sPath,DataName,userName,userPass
	var div;
	var uList;
	var infoObj;
	var selDBType=1;//获取当前选择的数据库类型 1 为sql数据库 2 为Access 数据库
	var menuID=null;//栏目	
	var run;
	var x=0;//定义一个变量
	var y=0;
    //选择栏目
    function selectMenu(){
       var date=new Date();
       var str=date.getDate()+""+date.getHours()+""+date.getMilliseconds()+""+date.getMinutes();
       var getColumnValue= showModalDialog("selColumn.aspx?index="+str,window,"dialogWidth:200px; dialogHeight:200px; toolbar=no;location=no;directories=no;status=no;menubar=no;scroll=auto;resizable=0;help=0");     
       if(getColumnValue!=undefined)
       {
          var splitColumnValue=getColumnValue.toString().split(c1);
          menuID=splitColumnValue[0];
          
          $("selMenuID").innerHTML="默认将数据导入栏目名称为<span style='color:Red'>"+splitColumnValue[1]+"</span>目录下<input id='Button2' type='button' value='重新选择' onclick='selectMenu()'/>"
       }
    }
    //获取选择数据库类型
	function selDB(obj){
	   var selValue=obj.value;//获取选中的数据库的类型值
	   switch(selValue)
	   {
	     case "1":{$("setSqlConnection").style.display="block";$("setOledb").style.display="none";selDBType=1;};break;
	     case "2":{$("setSqlConnection").style.display="none";$("setOledb").style.display="block";selDBType=2;}break;
	     default:break;
	   }
	}
	//开始插入数据 
	function startOpen(){
	      //判断是否选择了栏目
	      if(menuID==null||menuID=="")
	      {
	       alert("请指定导入数据的默认栏目");
	       return;
	      }
	      x=0;
	      y=0;
        if(parseInt(selDBType)==1)
        {
            testSql();
        }
        else
        {
          testAccess();
        }
	}
	//对div操作
	function divDisplay()
	{
	    $("sDiv").style.display="none";
        $("treeDiv").style.display="block";
        $("infoObj").style.display="block";
        $("showStop").style.display="block";
        $("start").style.display="none";
        $("treeDiv").innerHTML="";
        $("infoObj").innerHTML="正在连接数据库并且计算数据的大小,请耐心等待.....<br>";
	}
	//判断是否存在BBS.mdb数据库
	function testAccess(){
	      var objResponse=new JHttpResponse();
	      objResponse.write("DataName","");
	      var out=objAjax.getText("post","inputBBSDate.aspx?type=isHaveAccess",objResponse,null);
	     switch(out)
	     {
	           case "":alert("BBS.mdb数据库中不存在数据");break;
	           case "0":alert("没有发现BBS.mdb数据库,请上传");break;
	           default:
	              {
	                uList=comminute(out,c1,c2);
	                divDisplay();
		            setTimeout("inputDataAccess()",1000);		    
	              }
	              break;
	      }
	}
	//将Access数据导入
	function inputDataAccess(){
	    if (y>uList.length-1 | y==uList.length-1){
	        $("infoObj").innerHTM+="数据全部导入完成";
	        return;
	    }
	    var index=uList[y];//获取当前的数组的数据
	    y++;
	    var getUlistLength=parseInt(uList.length)-1;
	    var percent=(y)/(uList.length-1)*100;
        percent=Math.floor(percent);
	    $("infoObj").innerHTML="导入数据中...<br>总共要导入数据为"+getUlistLength+"条 已经导入"+y+"条数据<br>总共完成"+percent+"%<br>";
	    var getsplitMsg=index.toString().split(',');
	    $("infoObj").innerHTML+="正在导入: "+getsplitMsg[2].toString()+"-->"+getsplitMsg[3].toString();
	    var objResponse=new JHttpResponse();
		objResponse.write("index",index);
		objResponse.write("menuID",menuID);		
	 	var out=objAjax.getText("post","inputBBSDate.aspx?type=inputDataAccess",objResponse,null);
	 	switch(out)
	 	{
	 	 case "0":$("treeDiv").innerHTML+=getsplitMsg[2].toString()+"-->"+getsplitMsg[3].toString()+" 数据导入失败<br>";break;
	 	 case "1":$("treeDiv").innerHTML+=getsplitMsg[2].toString()+"-->"+getsplitMsg[3].toString()+" 数据导入成功<br>";break;
	 	 case "2":$("treeDiv").innerHTML+="没有发现栏目<br>";break;
	 	 case "3":$("treeDiv").innerHTML+=getsplitMsg[2].toString()+"-->"+getsplitMsg[3].toString()+" 数据库中已经存在<br>";break;
	 	 case "4":$("treeDiv").innerHTML+=getsplitMsg[2].toString()+"-->"+getsplitMsg[3].toString()+" 下的回帖不能够导入<br>";break;
	 	 default:break;
	 	} 
	 	var clearHtml=y%15;	 	
	 	if(clearHtml==0)
	 	{
	 	   $("treeDiv").innerHTML="";
	 	}
	   	run=setTimeout("inputDataAccess()",500);
	}
	//测试当前所提供的数据是否能够链接上SQL数据库
	function testSql(){
		var server=$("serverPath").value;
		var dbname=$("dbName").value;
		var user=$("dbUser").value;
		var pass=$("dbPass").value;
		if (server==""|dbname==""|user=="")
		{
			alert("服务器名 数据库名 用户名不能为空");
			return false;
		}
		var objResponse=new JHttpResponse();
		objResponse.write("server",server);
		objResponse.write("DataName",dbname);
		objResponse.write("userName",user);
		objResponse.write("userPass",pass);
		var out=objAjax.getText("post","inputBBSDate.aspx?type=testSQL",objResponse,null);		
		if(out=="0")
		{
	    	alert("您填写的链接数据库参数不正确\n不能够与数据库连接\n请检查....");
		    return ;
		}
		else
		{
		    sPath=server;
		    DataName=dbname;
		    userName=user;
		    userPass=pass;
		    uList=comminute(out,c1,c2);
		    divDisplay();
		    setTimeout("inputData()",1000)
		    return ;
		}
	}
	
	function inputData(){
	    if (x>uList.length-1 | x==uList.length-1){
	        $("treeDiv").innerHTML+="数据表全部导入完成";
	        return;
	    }
	    var index=uList[x];//获取当前的数组的数据
	    x++;
	    var getUlistLength=parseInt(uList.length)-1;
	    var percent=(x)/(uList.length-1)*100;
        percent=Math.floor(percent);
	    $("infoObj").innerHTML="导入数据中...<br>总共要导入数据为"+getUlistLength+"条 已经导入"+x+"条数据<br>现在总共完成"+percent+"%<br>";
	    var getsplitMsg=index.toString().split(',');
	    $("infoObj").innerHTML+="正在导入: "+getsplitMsg[2].toString()+"-->"+getsplitMsg[3].toString();
	    var objResponse=new JHttpResponse();
		objResponse.write("server",sPath);
		objResponse.write("DataName",DataName);
		objResponse.write("userName",userName);
		objResponse.write("userPass",userPass);
		objResponse.write("index",index);
		objResponse.write("menuID",menuID);
	 	var out=objAjax.getText("post","inputBBSDate.aspx?type=inputData",objResponse,null);
	 	switch(out)
	 	{
	 	 case "0":$("treeDiv").innerHTML+=getsplitMsg[2].toString()+"-->"+getsplitMsg[3].toString()+" 导入数据失败<br>";break;
	 	 case "1":$("treeDiv").innerHTML+=getsplitMsg[2].toString()+"-->"+getsplitMsg[3].toString()+" 导入数据成功<br>";break;
	 	 case "2":$("treeDiv").innerHTML+="没有发现栏目<br>";break;
	 	 case "3":$("treeDiv").innerHTML+=getsplitMsg[2].toString()+"-->"+getsplitMsg[3].toString()+" 数据库中已经存在<br>";clearTimeout(run);break;
	 	 case "4":$("treeDiv").innerHTML+=getsplitMsg[2].toString()+"-->"+getsplitMsg[3].toString()+" 下的回帖不能够导入<br>";break;
	 	 default:break;
	 	} 
	 	var clearHtml=x%15;	 
	 	if(clearHtml==0)
	 	{
	 	   $("treeDiv").innerHTML="";
	 	}
	   	run=setTimeout("inputData()",500);
	}
	//停止数据导入
	function stop()
	{
	    clearTimeout(run);
	    $("start").style.display="block";
        $("showStop").style.display="none";
	}
	//页面加载
	 function loadPage(){
			loadBodyclick();
		    writeFettleLeft("提示:该功能用于导入8.*版的论坛数据") //状态栏提示
        }
    </script>
</head>
<body onload="loadPage()">
    <form>
        <div>
             <div id="sDiv">
               <div style="width:350px; height:20px;" class="divBorder">
                   <input id="selSQL" type="radio" name="DB" value="1" checked="checked" onclick="selDB(this)"/>SQL数据库
                   <input id="sqlAccess" type="radio" name="DB" value="2" onclick="selDB(this)"/>Access数据库
                </div>
                <div id="selMenuID" style="width:350px; height:20px;padding-left:5px;border-top:1px #cccccc solid;" class="divBorder">请指定导入数据的默认栏目<input id="Button2" type="button" value="选择栏目" onclick="selectMenu()" /></div>
                
                <div style="width:350px; height: 120px;" id="setSqlConnection" class="divBorder">                   
                    <table style="width: 348px" border="0" cellpadding="0" cellspacing="0">
                        <tr><td style="width:348px;" colspan="2" class="biaotouTd"> 请设置SQL链接服务器参数:</td></tr>
                        <tr><td style="width: 85px" class="oushutd">服务器名:</td>
                            <td style="width: 258px" class="oushutd"><input name="serverPath" type="text" id="serverPath" style="width: 240px" value="" /></td>
                           
                        </tr>
                        <tr> <td colspan="2" style="width:348px;" class="oushutd">填写SQL服务器的IP或服务器名</td></tr>
                        <tr>
                            <td style="width: 85px" class="jishutd">数据库名:</td>
                            <td style="width: 258px" class="jishutd"><input name="dbName" type="text" id="dbName" style="width: 240px" value="" /></td>
                            
                        </tr>
                        <tr><td colspan="2" style="width:348px;" class="jishutd">SQL数据库的名字</td></tr>
                        <tr>
                            <td style="width: 85px" class="oushutd">连接用户名:</td>
                            <td style="width: 258px" class="oushutd"><input name="dbUser" type="text" id="dbUser" style="width: 240px" value="" /></td>
                            
                        </tr>
                        <tr><td colspan="2" style="width:348px;" class="oushutd">连接到SQL数据库的用户名, 如果本机测试, 可以填写: sa</td></tr>
                        <tr>
                            <td style="width: 85px" class="jishutd">连接密码:</td>
                            <td style="width: 258px" class="jishutd"><input name="dbPass" type="text" id="dbPass" style="width: 240px" value="" /></td>
                   
                        </tr>
                        <tr><td colspan="2" style="width:350px;" class="jishutd">连接SQL数据库服务器的用户密码,填写安装SQLServer时, 设置的密码</td></tr>
                    </table>
                </div>
                <div style="width:350px; height: 220px; display:none;color:#01439a; padding:5px;border-top:1px #cccccc solid;" id="setOledb">                  
                    准备开始导入论坛数据, 在数据导入前请把原网站数据库用FTP上传到网站的 upfile\tempData\ 目录下<br />                  
请注意:请将数据库名称改为BBS.mdb ，数据导入完成后，删除此库文件。
                </div>
                <div style="width:350px; padding-left:5px; text-align:center;border-top:1px #cccccc solid;" class="divBorder"><input id="Button1" type="button" value="开始导入数据" onclick="startOpen()" /></div>
            </div>
             <div id="infoObj" style="width:350px; height:70px;display:none;overflow-y:scroll; color:#01439a;border-top:1px #cccccc solid;padding-left:5px;" class="divBorder"></div>
             <div id="treeDiv" style="width:350px; height: 200px; overflow-y:scroll;display:none;color:#01439a;border-top:1px #cccccc solid;padding-left:5px;" class="divBorder"></div>
             <div style="width:350px; padding-left:5px;border-top:1px #cccccc solid;">
                 <div id="showStop" style="display:none; float:left;"><input id="Button3" type="button" value="停止" onclick="stop()" /></div>
                 <div id="start" style="display:none;float:left;"><input id="Button4" type="button" value="重新导入" onclick="startOpen()" /></div>
             </div>
        </div>
    </form>
</body>
</html>
