今天由于毕业设计要做一个数据库备份和还原的页面。我参考了一段代码后实现了功能但是我发现这段程序有一个比较麻烦的地方,就是数据库的还原的时候会遇到排它性问题。 在网上搜索了找到了小白的blog上转了一个大富翁论坛上的讨论,看了讨论后发现里面提供的方法还不能直接用于asp.net。我对代码进行了稍稍的改动 void restorebutton_click(object sender, system.eventargs e) string restoresql = "use master;"; sqlcommand mycommand = new sqlcommand(restoresql, new sqlconnection(connstr)); mycommand.parameters.add("@dbname", sqldbtype.char); } }
{
string path = pathtextbox.text;
string dbname = dbdropdownlist.selectedvalue;
restoresql += "restore database @dbname from disk = @path;";
string pai = "use master;alter database wy set offline with rollback immediate;alter database wy set online with rollback immediate";
sqlconnection conn = new sqlconnection(connstr);
sqlcommand com1 = new sqlcommand(pai, conn);
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(exception ex)
{
infolabel.text = "恢复失败!<br>出错信息如下:<br>" + ex.tostring();
}
finally
{
mycommand.connection.close();
}
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器