📄 index.aspx.cs
字号:
{
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 + -