?? form1.cs
字號:
this.groupBox2.TabIndex = 28;
this.groupBox2.TabStop = false;
this.groupBox2.Text = "參數設置";
//
// Form1
//
this.AccessibleRole = System.Windows.Forms.AccessibleRole.TitleBar;
this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
this.ClientSize = new System.Drawing.Size(584, 229);
this.Controls.Add(this.groupBox2);
this.Controls.Add(this.groupBox1);
this.Controls.Add(this.label5);
this.Controls.Add(this.axSuperWorkspace1);
this.Controls.Add(this.pictureBox1);
this.Controls.Add(this.btn_esc);
this.Controls.Add(this.btn_ok);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "Form1";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "GIS服務器設置";
((System.ComponentModel.ISupportInitialize)(this.axSuperWorkspace1)).EndInit();
this.groupBox1.ResumeLayout(false);
this.groupBox2.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
/// <summary>
/// 應用程序的主入口點。
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
private void btn_ok_Click(object sender, System.EventArgs e)
{
database_name = new string[,] {{"ding4","丁4煤層底板等高線及儲量計算圖"},{"ding56","丁5-6煤層底板等高線及儲量計算圖"},
{"geng20","庚20煤層底板等高線及儲量計算圖"},{"ji1617","己16-17煤層底板等高線及儲量計算圖"},
{"wu8","戊8煤層底板等高線及儲量計算圖"},{"wu910","戊9-10煤層底板等高線及儲量計算圖"},
{"pm10x","十線礦井地質剖面圖"},{"pm112x","一一二線礦井地質剖面圖"},
{"pm113x","一一三線礦井地質剖面圖"},{"pm11x","十一線礦井地質剖面圖"},
{"pm12x","十二線礦井地質剖面圖"},{"pm13x","十三線礦井地質剖面圖"},
{"pm14x","十四線礦井地質剖面圖"},{"pm1x","一線礦井地質剖面圖"},
{"pm20x","二十線礦井地質剖面圖"},{"pm22x","二十二線礦井地質剖面圖"},
{"pm2x","二線礦井地質剖面圖"},{"pm3x","三線礦井地質剖面圖"},
{"pm4x","四線礦井地質剖面圖"}, {"pm5x","五線礦井地質剖面圖"},
{"pm6x","六線礦井地質剖面圖"},{"pm7x","七線礦井地質剖面圖"},
{"pm8x","八線礦井地質剖面圖"},{"pm9x","九線礦井地質剖面圖"},
{"diban","某某礦地形地質圖"}};
Thread tt = new Thread(new ThreadStart(set_database));
tt.IsBackground = true;
tt.Start();
this.btn_ok.Enabled = false;
}
/// <summary>
/// 如果存在同名的數據庫刪除。
/// </summary>
private void drop_database()
{
}
private void set_database()
{
string app_url = Application.StartupPath+"\\data\\";
string ip = this.txt_ip.Text.Trim();
string u_name = this.txt_user.Text.Trim();
string u_pwd = this.txt_pwd.Text.Trim();
string SqlConn = "Data Source="+ip+";Initial Catalog=master;User ID="+u_name+";Password="+u_pwd;
SqlConnection myconn = new SqlConnection(SqlConn);
this.label5.Text = "準備重建立工作空間數據庫";
//先判斷是否存在工作空間同名數據庫
SqlCommand Cmd = new SqlCommand();
Cmd.CommandType = CommandType.Text;
Cmd.Connection = myconn;
try
{
myconn.Open();
Cmd.CommandText = "IF EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name ='workspace') DROP DATABASE workspace";
Cmd.ExecuteNonQuery();
//附加工作空間數據庫
string csql1 = "CREATE DATABASE workspace ON ( NAME = workspace , FILENAME = '"+app_url+"workspace.mdf' )";
Cmd.CommandText=csql1;
Cmd.ExecuteNonQuery();
string sql= "RESTORE DATABASE workspace FROM DISK = '"+app_url+"workspace' WITH MOVE 'workspace_Data' TO '"+app_url+"workspace.mdf' ,MOVE 'workspace_log' TO '"+app_url+"workspace.log'";
//string sql= "RESTORE DATABASE workspace FROM DISK = '"+app_url+"workspace'";
Cmd.CommandText = sql;
Cmd.ExecuteNonQuery();
this.label5.Text = "工作空間數據庫重建完畢....";
}
catch(SqlException ee)
{
MessageBox.Show("錯誤信息:"+ee.Message,"系統錯誤",MessageBoxButtons.OK,MessageBoxIcon.Error);
this.Close();
}
finally
{
myconn.Close();
}
//建立所有的空數據庫
try
{
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.Text;
cmd.Connection = myconn;
myconn.Open();
for(int i=0;i<25;i++)
{
this.label5.Text = "正在建立數據庫 "+database_name[i,0];
// 先判斷數據庫存在不存在
cmd.CommandText = "IF EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name ='"+database_name[i,0]+ "') DROP DATABASE "+database_name[i,0];
cmd.ExecuteNonQuery(); //刪除了同名數據庫
//開始建立空的數據庫
// cmd.CommandText="create database "+database_name[i,0];
// cmd.ExecuteNonQuery();
string csql = "CREATE DATABASE "+database_name[i,0]+" ON ( NAME = "+database_name[i,0]+" , FILENAME = '"+app_url+database_name[i,0]+".mdf' )";
cmd.CommandText = csql;
cmd.ExecuteNonQuery();
}
this.label5.Text = "所有數據庫建立完成,準備打開工作空間....";
}
catch(SqlException ee)
{
MessageBox.Show("錯誤信息:"+ee.Message,"系統錯誤",MessageBoxButtons.OK,MessageBoxIcon.Error);
this.Close();
}
finally
{
myconn.Close();
}
//打開工作空間,建立數據集
//打開地圖工作空間
string WorkSpaceConn1 = "UID ="+u_name+";pwd ="+u_pwd;
string WorkSpaceConn0 = "Provider = SQLOLEDB;Driver = SQL Server;SERVER = "+ip+";Database =workspace ;Caption = 某礦信息管理系統;";//這個是工作空間名
this.label5.Text = "正在打開工作空間,準備建立數據源...";
bool aa = this.axSuperWorkspace1.Open(WorkSpaceConn0,WorkSpaceConn1);
if(!aa)
{
MessageBox.Show("工作空間打開失敗","系統錯誤",MessageBoxButtons.OK,MessageBoxIcon.Error);
this.Close();
}
else
{
try
{
for(int i=0;i<25;i++)
{
this.label5.Text = "正在建立數據源 "+database_name[i,1];
//開始一剛建立的數據庫建立空的數據集
this.axSuperWorkspace1.CreateDataSource("Provider = SQLOLEDB;Driver = SQL Server;SERVER ="+ip+";Database = "+database_name[i,0],database_name[i,1],SuperMapLib.seEngineType.sceSQLPlus,false,false,false,"uid="+u_name+";pwd="+u_pwd);
//開始恢復數據庫
}
this.axSuperWorkspace1.Save();
this.axSuperWorkspace1.Close();
this.label5.Text = "數據源重建成功,準備還原數據庫...";
}
catch(SqlException ee)
{
MessageBox.Show("錯誤信息:"+ee.Message,"系統錯誤",MessageBoxButtons.OK,MessageBoxIcon.Error);
this.Close();
}
//還原數據庫
try
{
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.Text;
cmd.Connection = myconn;
myconn.Open();
for(int i=0;i<25;i++)
{
this.label5.Text = "正在還原數據 "+database_name[i,0];
string sql1= "RESTORE DATABASE "+database_name[i,0]+" FROM disk = '"+app_url+database_name[i,0]+"' WITH MOVE '"+database_name[i,0]+"_Data' TO '"+app_url+database_name[i,0]+".mdf', MOVE '"+database_name[i,0]+"_log' TO '"+app_url+database_name[i,0]+".log' ";
//string sql1= "RESTORE DATABASE "+database_name[i,0]+" FROM disk = '"+app_url+database_name[i,0]+"'";
cmd.CommandText = sql1;
cmd.ExecuteNonQuery();
}
MessageBox.Show("GIS服務器設置成功","系統提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
catch(SqlException ee)
{
MessageBox.Show("錯誤信息:"+ee.Message,"系統錯誤",MessageBoxButtons.OK,MessageBoxIcon.Error);
this.Close();
}
finally
{
myconn.Close();
}
}
}
private void checkBox1_CheckedChanged(object sender, System.EventArgs e)
{
if(this.checkBox1.Checked)
{
this.btn_ok.Enabled = true;
}
else
{
this.btn_ok.Enabled = false;
}
}
private void btn_esc_Click(object sender, System.EventArgs e)
{
this.Close();
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -