|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
支持大型的数据库。可以处理拥有上千万条记录的大型数据库。以下为援用的内容:
voidrestoreButton_Click(objectsender,System.EventArgse)
{
stringpath=pathTextBox.Text;
stringdbname=dbDropDownList.SelectedValue;stringrestoreSql="usemaster;";
restoreSql+="restoredatabase@dbnamefromdisk=@path;";
stringpai="usemaster;ALTERDATABASEWySETOFFLINEWITHROLLBACKIMMEDIATE;ALTERDATABASEWySETONLINEWITHROLLBACKIMMEDIATE";
SqlConnectionconn=newSqlConnection(ConnStr);
SqlCommandcom1=newSqlCommand(pai,conn);
SqlCommandmyCommand=newSqlCommand(restoreSql,newSqlConnection(ConnStr));
myCommand.Parameters.Add("@dbname",SqlDbType.Char);
myCommand.Parameters["@dbname"].Value=dbname;
myCommand.Parameters.Add("@path",SqlDbType.Char);
myCommand.Parameters["@path"].Value=path;
try
{
conn.Open();
com1.ExecuteNonQuery();
conn.Close();
myCommand.Connection.Open();
myCommand.ExecuteNonQuery();
infoLabel.Text="恢复乐成!<br>已把备份"+path+"恢复到数据库";
}
catch(Exceptionex)
{
infoLabel.Text="恢复失利!<br>堕落信息以下:<br>"+ex.ToString();
}
finally
{
myCommand.Connection.Close();
}
}
这类操作的执行过程是,1)按照新的表定义建立一个临时表tmpa,2)将原表数据拷贝到临时表,3)将原始表改名tmpb,4)将tmpa改名为原表名,5)将tmpb删除。 |
|