SQLDMO.Backup Backup = new SQLDMO.BackupClass();
SQLDMO.SQLServer BServer = new SQLDMO.SQLServerClass();
//显示进度条
SQLDMO.BackupSink_PercentCompleteEventHandler BProgress = new SQLDMO.BackupSink_PercentCompleteEventHandler(Step);
Backup.PercentComplete += BProgress;
try
{
BServer.LoginSecure = true;
BServer.Connect(".", "", "");
Backup.Action = SQLDMO.SQLDMO_BACKUP_TYPE.SQLDMOBackup_Database;
Backup.Database = "BookSystem";
Backup.Files = "\\BookSystem.bak";
Backup.BackupSetName = "BookSalesSystem";
Backup.BackupSetDescription = "数据库备份";
Backup.Initialize = true;
Backup.SQLBackup(BServer);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
BServer.DisConnect();
}
private void Step(string message, int percent)
{
progressBar1.Value = percent;
}
我用这个代码备份数据库,可以备份成功,但是进度条不走,我测试了一下,那个percent的值一直是0,请问这是怎么回事
SQLDMO.SQLServer BServer = new SQLDMO.SQLServerClass();
//显示进度条
SQLDMO.BackupSink_PercentCompleteEventHandler BProgress = new SQLDMO.BackupSink_PercentCompleteEventHandler(Step);
Backup.PercentComplete += BProgress;
try
{
BServer.LoginSecure = true;
BServer.Connect(".", "", "");
Backup.Action = SQLDMO.SQLDMO_BACKUP_TYPE.SQLDMOBackup_Database;
Backup.Database = "BookSystem";
Backup.Files = "\\BookSystem.bak";
Backup.BackupSetName = "BookSalesSystem";
Backup.BackupSetDescription = "数据库备份";
Backup.Initialize = true;
Backup.SQLBackup(BServer);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
BServer.DisConnect();
}
private void Step(string message, int percent)
{
progressBar1.Value = percent;
}
我用这个代码备份数据库,可以备份成功,但是进度条不走,我测试了一下,那个percent的值一直是0,请问这是怎么回事
但是2005的不能获取percent的值,该值总是0
//每多少进度提醒一次,默认为10
//这样每触发一次PercentComplete事件就可以保证是增加了进度nBackup.PercentCompleteNotification = 5;
然后private void Step(string message, int percent)
{
//progressBar1.Value = percent;
progressBar1.Value=progressBar1.Value+5;
}
SQLDMO.BackupSink_PercentCompleteEventHandler progress = new SQLDMO.BackupSink_PercentCompleteEventHandler(Step);
backup.PercentComplete += progress;backup.SQLBackup(server);
this.proStep.Visible = false;