数据导入导出问题? 参考:http://www.knowsky.com/3236.html 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 //可参考下面代码。代码有待修改的地方,使用sql语句进行数据备份,恢复/// <summary> /// 备份数据库 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void _ButtonBackUp_Click(object sender, System.EventArgs e) { dbConnSet frm = new dbConnSet();//获得数据库sa帐号,密码 frm.ShowDialog(); if(frm.isNormal==false) return; this.Cursor = Cursors.WaitCursor; string _DBSource = "(local)"; string _DBCatalog = "master"; string _DBUser = frm.textBoxDBUser.Text; string _DBPass = frm.textBoxDBPas.Text; string m_ConnectionStr = "Provider=SQLOLEDB;Password="+_DBPass+";User ID="+_DBUser+";Initial Catalog="+_DBCatalog+";Data Source="+_DBSource+";Connect Timeout=5;"; OleDbConnection _Conn = new OleDbConnection(m_ConnectionStr); try { _Conn.Open(); NetBee.Controls.FolderBrowserEX.FolderBrowser _SaveFileDialog = new NetBee.Controls.FolderBrowserEX.FolderBrowser(); //保存的文件目录路径 _SaveFileDialog.Description = "请选择备份保存的目录"; if(_SaveFileDialog.ShowDialog()==DialogResult.OK) { string _FolderPath = _SaveFileDialog.DirectoryPath; string[] DBName = {Cs.PubObject.dbName}; for(int i=0;i<DBName.Length;i++) { string _DBName = DBName[i]; OleDbCommand _Comm = new OleDbCommand("",_Conn); //执行数据库备份命令 _Comm.CommandText = "BACKUP DATABASE "+_DBName+" TO DISK = '"+ _SaveFileDialog.DirectoryPath+@"\"+_DBName +".bak'"; _Comm.ExecuteNonQuery(); } this.Cursor = Cursors.Arrow; _Conn.Close(); MessageBox.Show("备份数据成功!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information); } this.Cursor = Cursors.Arrow; } catch(System.Exception error) { this.Cursor = Cursors.Arrow; MessageBox.Show("异常:"+error.Message,"提示",MessageBoxButtons.OK,MessageBoxIcon.Error); } this.Cursor = Cursors.Arrow; } #endregion #region 恢复数据库 /// <summary> /// 恢复数据库 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void _ButtonRestory_Click(object sender, System.EventArgs e) { dbConnSet frm = new dbConnSet(); frm.ShowDialog(); if(frm.isNormal==false) return; if(MessageBox.Show("该操作将数据覆盖!!\n\n如果选择[是],将原来的数据覆盖\n\n如果选择[否],将退出安装","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Question)==DialogResult.No) return; if(MessageBox.Show("请在此确认,该操作不能恢复!!\n\n如果选择[是],将原来的数据覆盖\n\n如果选择[否],将退出安装","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Warning)==DialogResult.No) return; this.Cursor = Cursors.WaitCursor; string _DBSource = "(local)"; string _DBCatalog = "master"; string _DBUser = frm.textBoxDBUser.Text; string _DBPass = frm.textBoxDBPas.Text; string m_ConnectionStr = "Provider=SQLOLEDB;Password="+_DBPass+";User ID="+_DBUser+";Initial Catalog="+_DBCatalog+";Data Source="+_DBSource+";Connect Timeout=5;"; OleDbConnection _Conn = new OleDbConnection(m_ConnectionStr); try { _Conn.Open(); NetBee.Controls.FolderBrowserEX.FolderBrowser _SaveFileDialog = new NetBee.Controls.FolderBrowserEX.FolderBrowser(); _SaveFileDialog.Description = "请要恢复的数据目录"; if(_SaveFileDialog.ShowDialog()==DialogResult.OK) { string _FolderPath = _SaveFileDialog.DirectoryPath; string[] DBName = {Cs.PubObject.dbName}; for(int i=0;i<DBName.Length;i++) { string _DBName = DBName[i]; string _BakFilePath = _SaveFileDialog.DirectoryPath+@"\"+DBName[i]+@".bak"; OleDbCommand _Comm = new OleDbCommand("restore filelistonly from disk='"+_FolderPath+@"\"+_DBName+@".bak'",_Conn);//获得原来的逻辑名称以及物理路径 OleDbDataReader _Reader = null; _Reader = _Comm.ExecuteReader(); string[] _LogName = new string[2];//获得逻辑名称 string[] _PhiPath = new string[2];//获得物理路径 int j = 0; while(_Reader.Read()) { _LogName[j] = (string)_Reader.GetValue(0); _PhiPath[j] = (string)_Reader.GetValue(1); j = j+1; } _Reader.Close(); //执行数据库恢复脚本 _Comm = new OleDbCommand("",_Conn); _Comm.CommandText ="RESTORE DATABASE [" + _DBName + "] FROM DISK = '" + _BakFilePath + "' With Move '"+ _LogName[0] + "' TO '" +_PhiPath[0]+ "', Move '" + _LogName[1] + "' TO '" + _PhiPath[1]+ "'"; _Comm.ExecuteNonQuery(); } this.Cursor = Cursors.Arrow; MessageBox.Show("数据恢复成功!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information); _Conn.Close(); } this.Cursor = Cursors.Arrow; } catch(System.Exception error) { this.Cursor = Cursors.Arrow; MessageBox.Show("异常:"+error.Message,"错误",MessageBoxButtons.OK,MessageBoxIcon.Error); } } #endregion 我有sqlserver导出access,如果恢复,反向就可以了。 我也需要,谁有例子也给我发一份吧。谢谢了。Email:[email protected] 怎么判断richtextbox光标选中区域有没有回车符? 关于VS2005里C# 多线程调试 请wuyazhe(逍遥兄)、computerfox(阿捷)等高手帮忙 请高人来帮忙讲讲反射机制和ORM机制~ 大家帮我解决一下递归保存在数组里的问题.拜托大家了! 关于读取XML文档的问题 邮箱群发系统 一个难题:关于C#窗体控件 看《C#制作可伸缩窗体》碰到的问题。 高手们 快来帮帮我 本论坛页面左面的导航栏是用什么语言实现的,用C#能实现吗? 是IIS的错,还是我的错---对不起大家小妹就这些分了,日后给大家补上
/// <summary>
/// 备份数据库
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void _ButtonBackUp_Click(object sender, System.EventArgs e)
{
dbConnSet frm = new dbConnSet();//获得数据库sa帐号,密码
frm.ShowDialog();
if(frm.isNormal==false)
return;
this.Cursor = Cursors.WaitCursor;
string _DBSource = "(local)";
string _DBCatalog = "master";
string _DBUser = frm.textBoxDBUser.Text;
string _DBPass = frm.textBoxDBPas.Text;
string m_ConnectionStr = "Provider=SQLOLEDB;Password="+_DBPass+";User ID="+_DBUser+";Initial Catalog="+_DBCatalog+";Data Source="+_DBSource+";Connect Timeout=5;";
OleDbConnection _Conn = new OleDbConnection(m_ConnectionStr);
try
{
_Conn.Open();
NetBee.Controls.FolderBrowserEX.FolderBrowser _SaveFileDialog = new NetBee.Controls.FolderBrowserEX.FolderBrowser(); //保存的文件目录路径
_SaveFileDialog.Description = "请选择备份保存的目录";
if(_SaveFileDialog.ShowDialog()==DialogResult.OK)
{
string _FolderPath = _SaveFileDialog.DirectoryPath;
string[] DBName = {Cs.PubObject.dbName};
for(int i=0;i<DBName.Length;i++)
{
string _DBName = DBName[i];
OleDbCommand _Comm = new OleDbCommand("",_Conn);
//执行数据库备份命令
_Comm.CommandText = "BACKUP DATABASE "+_DBName+" TO DISK = '"+ _SaveFileDialog.DirectoryPath+@"\"+_DBName +".bak'";
_Comm.ExecuteNonQuery();
}
this.Cursor = Cursors.Arrow;
_Conn.Close();
MessageBox.Show("备份数据成功!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
this.Cursor = Cursors.Arrow; }
catch(System.Exception error)
{
this.Cursor = Cursors.Arrow;
MessageBox.Show("异常:"+error.Message,"提示",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
this.Cursor = Cursors.Arrow;
} #endregion #region 恢复数据库
/// <summary>
/// 恢复数据库
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void _ButtonRestory_Click(object sender, System.EventArgs e)
{
dbConnSet frm = new dbConnSet();
frm.ShowDialog();
if(frm.isNormal==false)
return;
if(MessageBox.Show("该操作将数据覆盖!!\n\n如果选择[是],将原来的数据覆盖\n\n如果选择[否],将退出安装","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Question)==DialogResult.No)
return;
if(MessageBox.Show("请在此确认,该操作不能恢复!!\n\n如果选择[是],将原来的数据覆盖\n\n如果选择[否],将退出安装","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Warning)==DialogResult.No)
return;
this.Cursor = Cursors.WaitCursor;
string _DBSource = "(local)";
string _DBCatalog = "master";
string _DBUser = frm.textBoxDBUser.Text;
string _DBPass = frm.textBoxDBPas.Text;
string m_ConnectionStr = "Provider=SQLOLEDB;Password="+_DBPass+";User ID="+_DBUser+";Initial Catalog="+_DBCatalog+";Data Source="+_DBSource+";Connect Timeout=5;";
OleDbConnection _Conn = new OleDbConnection(m_ConnectionStr);
try
{
_Conn.Open();
NetBee.Controls.FolderBrowserEX.FolderBrowser _SaveFileDialog = new NetBee.Controls.FolderBrowserEX.FolderBrowser();
_SaveFileDialog.Description = "请要恢复的数据目录";
if(_SaveFileDialog.ShowDialog()==DialogResult.OK)
{
string _FolderPath = _SaveFileDialog.DirectoryPath;
string[] DBName = {Cs.PubObject.dbName};
for(int i=0;i<DBName.Length;i++)
{
string _DBName = DBName[i];
string _BakFilePath = _SaveFileDialog.DirectoryPath+@"\"+DBName[i]+@".bak";
OleDbCommand _Comm = new OleDbCommand("restore filelistonly from disk='"+_FolderPath+@"\"+_DBName+@".bak'",_Conn);//获得原来的逻辑名称以及物理路径
OleDbDataReader _Reader = null;
_Reader = _Comm.ExecuteReader();
string[] _LogName = new string[2];//获得逻辑名称
string[] _PhiPath = new string[2];//获得物理路径
int j = 0;
while(_Reader.Read())
{
_LogName[j] = (string)_Reader.GetValue(0);
_PhiPath[j] = (string)_Reader.GetValue(1);
j = j+1;
}
_Reader.Close();
//执行数据库恢复脚本
_Comm = new OleDbCommand("",_Conn);
_Comm.CommandText ="RESTORE DATABASE [" + _DBName + "] FROM DISK = '" + _BakFilePath + "' With Move '"+ _LogName[0] +
"' TO '" +_PhiPath[0]+ "', Move '" + _LogName[1] + "' TO '" + _PhiPath[1]+ "'";
_Comm.ExecuteNonQuery();
}
this.Cursor = Cursors.Arrow;
MessageBox.Show("数据恢复成功!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
_Conn.Close();
}
this.Cursor = Cursors.Arrow; }
catch(System.Exception error)
{
this.Cursor = Cursors.Arrow;
MessageBox.Show("异常:"+error.Message,"错误",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
}
#endregion
Email:[email protected]