C# 数据库测试连接以及数据库备份.docx
- 文档编号:26251134
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:12
- 大小:24.14KB
C# 数据库测试连接以及数据库备份.docx
《C# 数据库测试连接以及数据库备份.docx》由会员分享,可在线阅读,更多相关《C# 数据库测试连接以及数据库备份.docx(12页珍藏版)》请在冰豆网上搜索。
C#数据库测试连接以及数据库备份
一、C#数据库连接的测试以及备份
现在我们要做一个如图5.1的数据库连接配置,从界面上看有三个功能需要实现:
从配置文件中读取数据库连接的相关属性、备份数据库、测试连接。
现在我们就一个一个开始讲解。
图5.1
1.从配置文件中读取数据库连接的相关属性
1) 配置文件中的数据库连接:
--数据库ip地址-->
--烟点用户名-->
--烟点用户密码-->
--烟点数据库名-->
--是否使用加密字符串-->
2) 创建一个类,数据库连接类。
///
///数据库连接配置实体
///
publicclassCLDBSet
{
///
///数据库连接地址
///
publicstringDBAddress
{
get;
set;
}
///
///数据库名
///
publicstringDBName
{
get;
set;
}
///
///用户名
///
publicstringUserName
{
get;
set;
}
///
///口令
///
publicstringPassWord
{
get;
set;
}
///
///是否加密
///
publicboolIsEncrypt
{
get;
set;
}
}
3) 从配置文件中获取相应的数据库连接字符串:
publicclassPubConstant
{
PrivatestaticstringconfigFileName=”System.config”;//System.config配置文件名
///
///得到app.config里配置项的数据库连接字符串。
///
///
publicstaticCLDBSetGetConnectionString()
{
CLDBSetdbset=newCLDBSet();
//获得配置文件中是否使用加密文件的值
StringconSTringEncrypt=System.Configuration.ConfigurationManager.AppSettings["ConStringEncrypt"];
if(ConStringEncrypt.ToLower()=="true")
{
dbset.IsEncrypt=true;
}
else
{
dbset.IsEncrypt=false;
}
//获得配置文件中的数据库地址
dbset.DBAddress=System.Configuration.ConfigurationManager.AppSettings["DBAddress"];
//获得配置文件中的数据库名
dbset.DBName=System.Configuration.ConfigurationManager.AppSettings["DBName"];
//获得配置文件中的密码
dbset.PassWord=System.Configuration.ConfigurationManager.AppSettings["PassWord"];
//获得配置文件中的口令(密码)
dbset.UserName=System.Configuration.ConfigurationManager.AppSettings["UserName"];
returndbset;
}
}
4) 在UI界面中显示出当前配置文件中连接的数据库
///
///当窗体加载时就显示
///
///
///
privatevoidFSJKPZ_Load(objectsender,EventArgse)
{
PubConstant pubConstant=New PubConstant();
VardbSet=pubConstant.GetConnectionString();
//数据库连接地址
txtAddress.Text=dbSet.DBAddress;
//用户名
txtUserName.Text=dbSet.UserName;
//口令(密码)
txtPassWord.Text=dbSet.PassWord;
//数据库名
txtSJK.Text=dbSet.DBName;
}
从配置文件中获取当前数据库连接已经算是完成了。
2.测试连接
测试连接数据库这一块 可以根据输入的服务器地址、用户名、密码、数据库名进行测试连接。
1) 先创建一个DBTester类,DBTester类主要写数据库测试连接的方法
publicclassDBTester
{
///
///测试界面输入的数据库连接
///
///
///
publicobject[]TextDBUI(CLDBSetdbSet)
{
boolstate=false;
stringmsg=string.Empty;
object[]o=newobject[]{};
SqlConnectioncon=newSqlConnection(string.Format("database={0};user={1};pwd={2};server={3};ConnectTimeout=5",dbSet.DBName,dbSet.UserName,dbSet.PassWord,dbSet.DBAddress));
try
{
con.Open();
if(con.State==System.Data.ConnectionState.Open)
{
state=true;
}
}
catch(SqlExceptionse)
{
o=newobject[]{se.Message,se.Source,se.ErrorCode};
state=false;
}
finally
{
con.Close();
}
if(state)
{
returnnull;
}
else
{
returno;
}
}
}
2)注册点击测试连接按钮事件
///
///注册点击测试连接按钮事件
///
///
///
PublicvoidbtnTest_Click(objectsender,EventArgse)
{
if(txtAddress.Text.Trim().Equals(""))
{
this.ShowMessageBox(eDialogType.Forbidden,"请输入服务器地址!
");
txtAddress.Focus();//为控件设置输入焦点
return;
}
if(txtSJK.Text.Trim().Equals(""))
{
this.ShowMessageBox(eDialogType.Forbidden,"请输入数据库名!
");
txtSJK.Focus();//为控件设置输入焦点
return;
}
if(txtUserName.Text.Trim().Equals(""))
{
this.ShowMessageBox(eDialogType.Forbidden,"请输入用户名!
");
txtUserName.Focus();//为控件设置输入焦点
return;
}
CLDBSetdbSet=newCLDBSet();
dbSet.DBAddress=txtAddress.Text.Trim();
dbSet.DBName=txtSJK.Text.Trim();
dbSet.UserName=txtUserName.Text.Trim();
dbSet.PassWord=txtPassWord.Text.Trim();
DBTestertester=newDBTester();
object[]result=tester.TextDBUI(dbSet);
if(result==null)
{
this.ShowMessageBox(eDialogType.Success,null,"数据库连接测试成功!
");
}
else
{
strings=string.Empty;
s=@"数据库连接测试失败!
\r\n
请检查配置的正确性以及网络的正常!
"+s;
this.ShowMessageBox(eDialogType.Exception,null,s);
}
}
3.备份数据库
1)写一个方法备份数据库的方法
///
///数据库备份
///
///
///
///
publicboolBackupDatabase(stringdbName,stringbakPath)
{
try
{
stringbakSql=string.Format(@"usemaster
backupdatabase{0}todisk='{1}'",dbName,bakPath);
SqlHelper.ExecuteNonQuery(bakSql,null);
//注:
SqlHelper是一个数据库的帮助类
}
catch
{
returnfalse;
}
returntrue;
}
1) 注册备份数据库按钮点击事件
privatevoidbtnBackup_Click(objectsender,EventArgse)
{
//获得配置文件中的数据库连接
PubConstantpubConstant=NewPubConstant();
Vardbset= pubConstant.GetConnectionString();//从配置文件中获得的数据库连接
stringdbName=dbSet.DBName;//获得数据库名
stringbakPath="";
SaveFileDialogsaveFileDialog1=newSaveFileDialog();
saveFileDialog1.Filter="BAK文件|*.bak";//类型是备份文件
saveFileDialog1.FileName=dbName+DateTime.Now.ToString("yyyyMMddHHmmss")+".bak";//备份后的文件名数据库名+当前时间
if(saveFileDialog1.ShowDialog()==DialogResult.OK)
{
bakPath=saveFileDialog1.FileName;
if(BackupDatabase(dbName,bakPath))
{
this.ShowMessageBox(eDialogType.Success,"数据库备份成功!
");
}
else
{
this.ShowMessageBox(eDialogType.Exception,"数据库备份失败!
");
}
}
}
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 数据库测试连接以及数据库备份 数据库 测试 连接 以及 备份