📄 index.aspx.cs
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Text;
using System.Data.SqlClient;
namespace OldToNew
{
/// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Button Button1;
protected System.Web.UI.WebControls.TextBox ph1;
protected System.Web.UI.WebControls.TextBox olddb;
protected System.Web.UI.WebControls.TextBox newdb;
protected System.Web.UI.WebControls.TextBox sname;
protected System.Web.UI.WebControls.TextBox uname;
protected System.Web.UI.WebControls.TextBox pass;
protected System.Web.UI.WebControls.Label errL;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void LongTask()
{
string sql="";
string constr="server=";
constr += sname.Text+";uid=";
constr += uname.Text+";pwd=";
constr += pass.Text+";Database=";
string oldcon=constr+olddb.Text+";";
string newcon=constr+newdb.Text+";";
System.Data.SqlClient.SqlConnection oldConn=new SqlConnection(oldcon);
System.Data.SqlClient.SqlConnection newConn=new SqlConnection(newcon);
if(!System.IO.Directory.Exists(ph1.Text))
{
errL.Text="您指定的路径不存在,请重新确认!";
Session["State"] = 100;
return;
}
//建立数据库连接,并测试连接
try
{
oldConn.Open();
newConn.Open();
oldConn.Close();
newConn.Close();
}
catch
{
Session["err"]="不能建立连接,请检查数据库和服务器的输入以及设置是否正确!";
Session["State"] = 100;
return;
}
//更新年级表
try
{
int n=0;
//先清除新表
sql="delete from zGrade";
System.Data.SqlClient.SqlCommand newcmd=new SqlCommand(sql,newConn);
newConn.Open();
newcmd.ExecuteNonQuery();
newConn.Close();
//取旧表数据
sql="select * from zGrade";
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();
for(int j=0;j<olddt.Rows[0].Table.Columns.Count;j++)
{
row[j]=olddt.Rows[i][j];
}
newds.Tables[0].Rows.Add(row);
Session["State"] = n;
}
newAdp.Update(newds);
}
}
catch(Exception ex)
{
Session["err"]="更新年级表失败,请检查zGrade表和数据时候正确!\n"+ex.Message;
Session["State"] = 100;
return;
}
//更新学科表
try
{
int n=0;
//先清除新表
sql="delete from zSubject";
System.Data.SqlClient.SqlCommand newcmd=new SqlCommand(sql,newConn);
newConn.Open();
newcmd.ExecuteNonQuery();
newConn.Close();
//取旧表数据
sql="select * from zSubject";
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();
for(int j=0;j<olddt.Rows[0].Table.Columns.Count;j++)
{
row[j]=olddt.Rows[i][j];
}
newds.Tables[0].Rows.Add(row);
Session["State"] = n;
}
newAdp.Update(newds);
}
}
catch(Exception ex)
{
Session["err"]="更新学科表失败,请检查zSubject表和数据时候正确!\n"+ex.Message;
Session["State"] = 100;
return;
}
//更新知识点表
try
{
int n=0;
//先清除新表
sql="delete from zKnowledge";
System.Data.SqlClient.SqlCommand newcmd=new SqlCommand(sql,newConn);
newConn.Open();
newcmd.ExecuteNonQuery();
newConn.Close();
//取旧表数据
sql="select * from zKnowledge";
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();
for(int j=0;j<olddt.Rows[0].Table.Columns.Count;j++)
{
row[j]=olddt.Rows[i][j];
}
newds.Tables[0].Rows.Add(row);
Session["State"] = n;
}
newAdp.Update(newds);
}
}
catch(Exception ex)
{
Session["err"]="更新知识点表失败,请检查zKnowledge表和数据时候正确!\n"+ex.Message;
Session["State"] = 100;
return;
}
//更新授权表
try
{
int n=0;
//先清除新表
sql="delete from zLevel";
System.Data.SqlClient.SqlCommand newcmd=new SqlCommand(sql,newConn);
newConn.Open();
newcmd.ExecuteNonQuery();
newConn.Close();
//取旧表数据
sql="select * from zLevel";
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();
for(int j=0;j<olddt.Rows[0].Table.Columns.Count;j++)
{
row[j]=olddt.Rows[i][j];
}
newds.Tables[0].Rows.Add(row);
Session["State"] = n;
}
newAdp.Update(newds);
}
}
catch(Exception ex)
{
Session["err"]="更新授权表失败,请检查zLevel表和数据时候正确!\n"+ex.Message;
Session["State"] = 100;
return;
}
//更新用户表
try
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -