📄 dbbackandstore.cs
字号:
using System;
using System.Data;
using System.Data.SqlClient;
namespace MainPrj_CarShop
{
/// <summary>
/// 备份和还原sql数据库
/// </summary>
public class BackupDataAndStore
{
private SqlConnection conn;
public BackupDataAndStore()
{
//
// TODO: 在此处添加构造函数逻辑
//
string sql="server=.;uid=sa;pwd=;persist security info=False;database=master";
conn=new SqlConnection(sql);
}
/// <summary>
/// 备份数据库
/// </summary>
/// <param name="databasename"></param>
/// <param name="backuptodatabase"></param>
/// <returns></returns>
public bool BackUpDataBase(string databasename,string backuptodatabase)
{
string procname;
string sql;
conn.Open();
procname="sp_dropdevice";
SqlCommand sqlcmd1=new SqlCommand(procname,conn);
sqlcmd1.CommandType =CommandType.StoredProcedure;
SqlParameter sqlpar=new SqlParameter();
sqlpar=sqlcmd1.Parameters.Add("@logicalname",SqlDbType.VarChar,20);
sqlpar.Direction =ParameterDirection.Input;
sqlpar.Value =databasename;
try
{
sqlcmd1.ExecuteNonQuery();
}
catch(SqlException ex)
{
throw ex;
}
catch(Exception ex)
{
throw ex;
}
procname="sp_addumpdevice";
SqlCommand sqlcmd2=new SqlCommand(procname,conn);
sqlcmd2.CommandType =CommandType.StoredProcedure;
sqlpar=sqlcmd2.Parameters.Add("@devtype",SqlDbType.VarChar,20);
sqlpar.Direction =ParameterDirection.Input;
sqlpar.Value ="disk";
sqlpar=sqlcmd2.Parameters.Add("@logicalname",SqlDbType.VarChar,20);
sqlpar.Direction =ParameterDirection.Input;
sqlpar.Value =databasename;
sqlpar=sqlcmd2.Parameters.Add("@physicalname",SqlDbType.NVarChar,260);
sqlpar.Direction =ParameterDirection.Input;
sqlpar.Value =backuptodatabase+".bak";
try
{
int i=sqlcmd2.ExecuteNonQuery();
}
catch(SqlException ex)
{
throw ex;
}
catch(Exception ex)
{
throw ex;
}
sql="BACKUP DATABASE "+databasename +" TO "+databasename +" WITH INIT";
SqlCommand sqlcmd3=new SqlCommand(sql,conn);
sqlcmd3.CommandType =CommandType.Text;
try
{
sqlcmd3.ExecuteNonQuery();
}
catch(SqlException ex)
{
throw ex;
}
catch(Exception ex)
{
throw ex;
}
finally
{
conn.Close();
}
conn.Close();
return true;
}
/// <summary>
/// 还原指定的数据库文件
/// </summary>
/// <param name="databasename"></param>
/// <param name="databasefile"></param>
/// <returns></returns>
public bool RestoreDataBase(string databasename,string databasefile )
{
string sql="RESTORE DATABASE "+databasename +" from DISK = '"+databasefile +"' ";
SqlCommand sqlcmd=new SqlCommand(sql,conn);
sqlcmd.CommandType =CommandType.Text;
conn.Open();
try
{
sqlcmd.ExecuteNonQuery();
}
catch(SqlException ex)
{
if(conn.State==ConnectionState.Closed)
{
conn.Open();
sqlcmd.ExecuteNonQuery();
return true;
}
else
throw ex;
}
catch(Exception ex)
{
throw ex;
}
finally
{
conn.Close();
}
return true;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -