⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 index.aspx.cs

📁 .net下一个数据库数据互换
💻 CS
📖 第 1 页 / 共 2 页
字号:
			{
				int n=0;
				sql="delete from zUsers";
				System.Data.SqlClient.SqlCommand newcmd=new SqlCommand(sql,newConn);
				newConn.Open();
				newcmd.ExecuteNonQuery();
				newConn.Close();
				//取旧表数据
				sql="select * from zUsers";
				System.Data.SqlClient.SqlDataAdapter oldAdp=new SqlDataAdapter(sql,oldConn);
				System.Data.DataTable olddt=new DataTable();
				oldAdp.Fill(olddt);
				//取新表
				SqlCommand cmd=new SqlCommand(sql,newConn);
				System.Data.SqlClient.SqlDataAdapter newAdp=new SqlDataAdapter(sql,newConn);
				newAdp.SelectCommand=cmd;
				SqlCommandBuilder cmdb = new SqlCommandBuilder(newAdp);
				System.Data.DataSet newds =new DataSet();
				newAdp.Fill(newds);
				if(olddt.Rows.Count>0)
				{
					for(int i=0;i<olddt.Rows.Count;i++)
					{
						n=(int)(i*99/olddt.Rows.Count);
						DataRow row=newds.Tables[0].NewRow();
						///////////////////////////////////////////////////////////////////
						row["Account"]=olddt.Rows[i]["Account"];
						row["Password"]=System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(olddt.Rows[i]["Account"].ToString().Trim(),"SHA1");
						row["Question"]=olddt.Rows[i]["Question"];
						row["Answer"]=olddt.Rows[i]["Answer"];
						row["Nick"]=olddt.Rows[i]["Nick"];
						row["sex"]=olddt.Rows[i]["Gender"];
						row["DepartID"]=0;
						row["DepartName"]=olddt.Rows[i]["SectionOffice"];
						row["RegistDate"]=olddt.Rows[i]["RegistDate"];
						row["Visible"]=((int)olddt.Rows[i]["islogoff"])==0?1:0;
						row["UserAudite"]=olddt.Rows[i]["UserAudite"];
						row["Ring"]=((int)olddt.Rows[i]["Ring"])==0?1:0;
						row["DiskMax"]=102400;
						row["DiskUse"]=0;
						//////////////////////////////////////////////////////////////////
						newds.Tables[0].Rows.Add(row);
						Session["State"] = n;
					}
					newAdp.Update(newds);
				}
			}
			catch(Exception ex)
			{
				Session["err"]="更新用户表失败,请检查zUsers表和数据时候正确!\n"+ex.Message;
				Session["State"] = 100;
				return;
			}

			
			//更新资源表
			try
			{
				int n=0;
				sql="delete from zResource  delete from zContents where intype=0";
				System.Data.SqlClient.SqlCommand newcmd=new SqlCommand(sql,newConn);
				newConn.Open();
				newcmd.ExecuteNonQuery();
				newConn.Close();
				//取旧表数据
				sql="select * from zResource";
				System.Data.SqlClient.SqlDataAdapter oldAdp=new SqlDataAdapter(sql,oldConn);
				System.Data.DataTable olddt=new DataTable();
				oldAdp.Fill(olddt);
				//取新表
				SqlCommand cmd=new SqlCommand(sql,newConn);
				System.Data.SqlClient.SqlDataAdapter newAdp=new SqlDataAdapter(sql,newConn);
				newAdp.SelectCommand=cmd;
				SqlCommandBuilder cmdb = new SqlCommandBuilder(newAdp);
				System.Data.DataSet newds =new DataSet();
				newAdp.Fill(newds);
				//取新表
				sql="select * from zContents";
				SqlCommand cmd2=new SqlCommand(sql,newConn);
				System.Data.SqlClient.SqlDataAdapter newAdp2=new SqlDataAdapter(sql,newConn);
				newAdp2.SelectCommand=cmd2;
				SqlCommandBuilder cmdb2 = new SqlCommandBuilder(newAdp2);
				System.Data.DataSet newds2 =new DataSet();
				newAdp2.Fill(newds2);

				string rid="",filename="",kid="",paths="",phs="",ph="";

				ph=ph1.Text;
				if(ph.Substring(ph.Length-1,1)!="\\")
					ph+="\\";
				if(olddt.Rows.Count>0)
				{
					for(int i=0;i<olddt.Rows.Count;i++)
					{
						n=(int)(i*99/olddt.Rows.Count);
						rid=olddt.Rows[i]["rid"].ToString();
						filename=olddt.Rows[i]["filename"].ToString();
						if(olddt.Rows[i]["kid"].ToString()!=kid)
						{
							kid=olddt.Rows[i]["kid"].ToString();
							phs=this.getPath(newConn,kid);
							phs=ph+phs;
							paths=phs+filename.Trim();
						}
						else
							paths=phs+filename.Trim();
						
						if(System.IO.File.Exists(paths))
						{
							DataRow row=newds.Tables[0].NewRow();
							///////////////////////////////////////////////////////////////////
							row["rid"]=olddt.Rows[i]["rid"];
							row["kid"]=olddt.Rows[i]["kid"];
							row["Title"]=olddt.Rows[i]["Title"];
							row["Description"]=olddt.Rows[i]["Description"];
							row["SrcType"]=olddt.Rows[i]["SrcType"];
							row["FileSize"]=olddt.Rows[i]["FileSize"];
							row["UploadDate"]=olddt.Rows[i]["UploadDate"];
							row["ClickNum"]=olddt.Rows[i]["ClickNum"];
							row["FileName"]=olddt.Rows[i]["FileName"];
							row["Author"]=olddt.Rows[i]["Author"];
							//取用户名
							sql="select * from zUsers where account='"+olddt.Rows[i]["Author"].ToString()+"'";
							System.Data.DataTable dtu=new DataTable();
							System.Data.SqlClient.SqlDataAdapter adpu=new SqlDataAdapter(sql,newConn);
							adpu.Fill(dtu);
							if(dtu.Rows.Count>0)
								row["AuthorName"]=dtu.Rows[0]["Nick"];
							else
								row["AuthorName"]="";
							row["Audite"]=olddt.Rows[i]["Audite"];
							//////////////////////////////////////////////////////////////////
							newds.Tables[0].Rows.Add(row);
							newAdp.Update(newds);
							////================================////////////
							DataRow rw=newds2.Tables[0].NewRow();
							rw["rid"]=olddt.Rows[i]["rid"];
							rw["SrcType"]=olddt.Rows[i]["SrcType"];
							rw["FileName"]=olddt.Rows[i]["FileName"];
							rw["Descs"]=olddt.Rows[i]["Description"];
							rw["intype"]=0;
							//
							System.IO.FileStream fs=new System.IO.FileStream(paths, System.IO.FileMode.Open, System.IO.FileAccess.Read);
							long fsn=fs.Length;
							double fsnn=fsn/1024.0;
							//更新用户使用空间
							sql="update zUsers set DiskUse=DiskUse+"+fsnn.ToString()+" where account='"+olddt.Rows[i]["Author"].ToString()+"'";
							SqlCommand cmdu=new SqlCommand(sql,newConn);
							newConn.Open();
							cmdu.ExecuteNonQuery();
							newConn.Close();
							///增加到库
							byte[] buffer=new byte[fsn];
							int sn=0,en=10240;
							while(sn+en-10240<fs.Length)
							{
								if(fs.Length-sn>=10240)
									fs.Read(buffer,sn,en);
								else
									fs.Read(buffer,sn,(int)(fs.Length-sn-1));
								sn=sn+en;
							}
							fs.Close();
							rw["content"]=buffer;
							//
							newds2.Tables[0].Rows.Add(rw);
							newAdp2.Update(newds2);
						}
						Session["State"] = n;
					}
				}
			}
			catch(Exception ex)
			{
				Session["err"]="更新用户表失败,请检查zUsers表和数据时候正确!\n"+ex.Message;
				Session["State"] = 100;
				return;
			}
			//任务结束
			Session["err"]="";
			Session["State"] = 100;
			//errL.Text="操作完成!";
		}

		private string getPath(SqlConnection conn,string kid)
		{
			string ph=kid+"\\";
			string sql="select * from zKnowledge where kid="+kid;
			System.Data.DataTable dt=new DataTable();
			System.Data.SqlClient.SqlDataAdapter adp=new SqlDataAdapter(sql,conn);
			adp.Fill(dt);
			if(dt.Rows.Count>0)
			{
				string sid=dt.Rows[0]["sid"].ToString();
				string pid=dt.Rows[0]["pid"].ToString();
				while(pid!="0")
				{
					ph=pid+"\\"+ph;
					sql="select * from zKnowledge where kid="+pid;
					System.Data.DataTable dt2=new DataTable();
					System.Data.SqlClient.SqlDataAdapter adp2=new SqlDataAdapter(sql,conn);
					adp2.Fill(dt2);
					sid=dt2.Rows[0]["sid"].ToString();
					pid=dt2.Rows[0]["pid"].ToString();
				}
				sql="select * from zSubject where sid="+sid;
				System.Data.DataTable dt3=new DataTable();
				System.Data.SqlClient.SqlDataAdapter adp3=new SqlDataAdapter(sql,conn);
				adp3.Fill(dt3);
				sid=dt3.Rows[0]["sid"].ToString();
				string gid=dt3.Rows[0]["gid"].ToString();
				ph=sid+"\\"+ph;
				ph=gid+"\\"+ph;
			}

			return ph;

		}
		private void LongTask1()
		{
			//模拟长时间任务
			//每个循环模拟任务进行到不同的阶段
			for(int i=0;i<11;i++)
			{
				System.Threading.Thread.Sleep(1000);
				//设置每个阶段的state值,用来显示当前的进度
				Session["State"] = i+1;
			}
			//任务结束
			Session["State"] = 100;

		}


		public static void OpenProgressBar(System.Web.UI.Page Page)
		{
			StringBuilder sbScript = new StringBuilder();

			sbScript.Append("<script language='JavaScript' type='text/javascript'>\n");
			sbScript.Append("<!--\n");
			//需要IE5.5以上支持
			sbScript.Append("window.showModalDialog('Progress.aspx','','dialogHeight: 100px; dialogWidth: 350px; edge: Raised; center: Yes; help: No; resizable: No; status: No;scroll:No;');\n");
			//IE5.5以下使用window.open
			//sbScript.Append("window.open('Progress.aspx','', 'height=100, width=350, toolbar =no, menubar=no, scrollbars=no, resizable=no, location=no, status=no');\n");
			sbScript.Append("// -->\n");
			sbScript.Append("</script>\n");

			Page.RegisterClientScriptBlock("OpenProgressBar", sbScript.ToString());
		}

		private void Button1_Click(object sender, System.EventArgs e)
		{
			errL.Text="";
			Session["err"]="";
			if(ph1.Text.Trim()=="")
			{
				errL.Text="请先指定资源的基础路径!";
				return;
			}
			System.Threading.Thread thread=new System.Threading.Thread(new System.Threading.ThreadStart(LongTask));
			thread.Start();

			Session["State"]=1;
			OpenProgressBar(this.Page);
			errL.Text=Session["err"].ToString();
			if(errL.Text=="")
				errL.Text="转换完成!";
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -