昨天看了《C#项目实录》中的进销存管理系统,和其他书里讲的案例一样,无非也就是数据库增删查改,但是这个进销存系统中有一个备份和还原数据库的功能,蛮有兴趣的,看了一下代码,原来如此,也就是通过SQL语句来进行备份和还原数据库,SQL语句如下:
-- 备份数据库
backup database db_CSManage to disk='c:\backup.bak'
-- 还原数据库,必须先备份该数据库的日志文件到原先的备份文件中
backup log db_CSManage to disk='c:\backup.bak'
restore database db_CSManage from disk='c:\backup.bak'
其中db_CSManage是数据库名称,disk后的路径即是备份文件存储的路径。
知道了SQL语句,那么在.NET代码中就容易多了,备份的.NET代码如下:
try
{
if (txtPath.Text != "" && txtName122.Text != "")
{
getSqlConnection geCon = new getSqlConnection();
SqlConnection con = geCon.GetCon();
string strBacl = "backup database db_CSManage to disk='" + txtPath.Text.Trim() + "\\" + txtName.Text.Trim() + ".bak'";
SqlCommand Cmd = new SqlCommand(strBacl, con);
if (Cmd.ExecuteNonQuery() != 0)
{
MessageBox.Show("数据备份成功!", "提示框", MessageBoxButtons.OK, MessageBoxIcon.Information);
this.Close();
}
else
{
MessageBox.Show("数据备份失败!", "提示框", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
else
{
MessageBox.Show("请填写备份的正确位置及文件名!", "提示框", MessageBoxButtons.OK, MessageBoxIcon.Information);
}// end
}
catch (Exception ee)
{
MessageBox.Show(ee.Message.ToString());
}
以下是还原数据库的代码,在示例中发现开头得先删除与该数据库相关的进程,然后在还原之前得先把数据库日志备份到开始的备份文件中,然后才还原备份文件,要不然会出错的,代码如下:
if (textPaht.Text != "")
{
getSqlConnection geCon = new getSqlConnection();
SqlConnection con = geCon.GetCon();
if (con.State == ConnectionState.Open)
{
con.Close();
}
string DateStr = "Data Source=niunan\\sqlexpress;Database=master;User id=sa;PWD=123456";
SqlConnection conn = new SqlConnection(DateStr);
conn.Open();
//-------------------杀掉所有连接 db_CSManage 数据库的进程--------------
string strSQL = "select spid from master..sysprocesses where dbid=db_id( 'db_CSManage') ";
SqlDataAdapter Da = new SqlDataAdapter(strSQL, conn);
DataTable spidTable = new DataTable();
Da.Fill(spidTable);
SqlCommand Cmd = new SqlCommand();
Cmd.CommandType = CommandType.Text;
Cmd.Connection = conn;
for (int iRow = 0; iRow <= spidTable.Rows.Count - 1; iRow++)
{
Cmd.CommandText = "kill " + spidTable.Rows[iRow][0].ToString(); //强行关闭用户进程
Cmd.ExecuteNonQuery();
}
conn.Close();
conn.Dispose();
//--------------------------------------------------------------------
SqlConnection sqlcon = new SqlConnection(DateStr);
sqlcon.Open();
string sql = "backup log db_CSManage to disk='" + textPaht.Text.Trim() + "' restore database db_CSManage from disk='" + textPaht.Text.Trim() + "'";
SqlCommand sqlCmd = new SqlCommand(sql, sqlcon);
sqlCmd.ExecuteNonQuery();
sqlCmd.Dispose();
sqlcon.Close();
sqlcon.Dispose();
MessageBox.Show("数据还原成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
MessageBox.Show("为了必免数据丢失,在数据库还原后将关闭整个系统。");
Application.Exit();
}
else
{
MessageBox.Show("请选择备份文件!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
附上整个进销存系统的源码
分享到:
相关推荐
总之,使用C#和ASP.NET实现SQL Server数据库备份,主要涉及SMO库的使用,通过编写代码来配置备份类型、设备和选项,然后调用SqlBackup方法执行备份。在实际应用中,还需要考虑错误处理、日志记录、备份策略规划等...
除了使用T-SQL,还可以使用SqlBackup和SqlRestore类(来自Microsoft.SqlServer.Management.Smo库)来进行更高级的备份和还原操作,如部分备份、差异备份等。这些类提供了更多的选项和控制,例如备份到网络位置,设置...
在ASP.NET中,数据库的备份和还原是关键的运维任务,尤其对于线上Web应用程序来说,确保数据的安全性和可恢复性至关重要。本篇文章将详细介绍如何利用ASP.NET实现这一功能。 首先,我们需要了解数据库备份的基本...
使用`System.Data.SqlClient`命名空间,下面是一个简单的示例代码,演示如何在ASP.NET中执行备份和还原操作: ```csharp using System; using System.Data.SqlClient; public void BackupDatabase(string ...
总的来说,ASP.NET(C#)备份还原数据库是一个涉及多个环节的过程,包括建立数据库连接、执行T-SQL命令、处理异常等。正确理解和运用这些知识,能够帮助我们在项目中实现高效且可靠的数据库管理机制。
在 asp.net 中备份还原 SQL Server 数据库 <tr><td colspan="2">数据库还原和备份</td></tr> <tr><td>请选择数据库</td><td> <asp:DropDownList ID="ddlDatabaseList" runat="server"> </asp:...
总结起来,在ASP.NET中备份和还原数据库主要通过C#代码调用SQL Server的T-SQL命令,或者利用sqlDMO(或更现代的SMO)对象模型进行操作。备份和还原策略应根据业务需求和数据敏感度进行设计,确保在不影响正常服务的...
本文档将详细介绍如何使用 Asp.net 实现 SQL Server 数据库的备份和还原,以及Access 数据库的压缩。 SQL Server 数据库备份 在数据备份方面,SQL Server 提供了多种备份方式,例如完整备份、差异备份和日志备份。...
通过上述内容可以看出,在ASP.NET应用中进行数据库备份和恢复时,使用SQLDMO和自定义存储过程都是有效且实用的方法。SQLDMO提供了丰富的接口来处理数据库备份和恢复的任务,而自定义存储过程则可以针对具体应用场景...
根据提供的文件信息,本文将详细解释使用ASP.NET进行数据库备份和恢复的相关知识点,包括ASP.NET在备份和恢复过程中的作用、实现备份与恢复的具体步骤、所使用的代码逻辑以及页面元素的功能解析。 ### ASP.NET在...
例如,你可以创建一个存储过程来执行备份,并在ASP.NET中调用这个存储过程,或者直接在C#代码中编写SQL语句进行备份。 接下来,数据库的分离和附加也是数据库管理的重要环节。分离数据库可以解除服务器对特定数据库...
在ASP.NET中,数据库的恢复和还原是数据库管理的重要组成部分,尤其对于运行着关键业务的应用程序来说,确保数据的安全和可恢复性至关重要。本篇将详细介绍如何使用ASP.NET来实现这一功能,主要涉及SQL Server数据库...
本教程将详细讲解如何使用`C#`和`ASP.NET`来实现数据库的备份与恢复功能。 首先,让我们了解一下数据库备份的基本概念。数据库备份是为了防止数据丢失,比如由于硬件故障、人为错误或恶意攻击导致的数据破坏。备份...
对于使用ASP.NET进行开发的应用程序来说,了解并掌握如何进行数据库备份与还原尤为关键。 #### 二、ASP.NET 数据库备份方法 数据库备份是将当前数据库的所有数据以及日志文件复制到一个备份文件中。以下是一种基于...
综上所述,ASP.NET提供了丰富的API和库支持,使得在.NET环境中对SQL Server数据库进行备份和恢复成为可能。开发者可以根据具体需求,结合自动和手动方式,构建高效、可靠的数据库管理解决方案。
在ASP.NET中,数据库管理是关键的一部分,包括了数据库的备份和恢复,这对于数据的安全性和业务连续性至关重要。本篇将详细探讨在ASP.NET中针对Access和SQL Server数据库的备份与恢复策略。 首先,我们来看Access...
以下是一个简单的C# ASP.NET代码示例,演示如何调用存储过程进行数据库备份: ```csharp using System; using System.Data.SqlClient; public void BackupDatabase(string connectionString, string ...
ASP.NET通用权限管理系统源代码(含文档、数据库) 1.菜单导航管理 2.操作按钮 3.角色管理 4.部门管理 5.用户管理(用户权限) 6.用户组管理(设置成员,用户组权限) 7.系统配置(动态配置系统参数) 8.附加属性...
总的来说,理解C#中如何利用SMO进行数据库备份和还原,以及在Web环境中如何实现这些操作,是提升开发技能的重要一步。这个过程涉及到数据库连接、SQL命令构造、异常处理和用户交互等多个方面,是.NET开发者必备的...