backup_recover_db.java~10~
来自「使用Java语言开发的数据库课程设计——医药管理信息系统。」· JAVA~10~ 代码 · 共 81 行
JAVA~10~
81 行
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.Connection;
import java.sql.SQLException;
import javax.swing.filechooser.FileFilter;
import javax.swing.filechooser.FileNameExtensionFilter;
public class Backup_Recover_DB
{
String Driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String conURL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=CASY";
String Username = "sa";
String Password = "111111";
public void Backup_DB()
{
int ask = 0;
JFileChooser chooser = new JFileChooser();
FileFilter filter = new FileNameExtensionFilter("数据库备份文件 (*.bak)","bak");
chooser.setFileFilter(filter);
if(chooser.getSelectedFile().exists())
{
ask = JOptionPane.showConfirmDialog(null, "文件已经存在,是否覆盖?", "请慎重考虑!",
JOptionPane.INFORMATION_MESSAGE);
if (ask == JOptionPane.NO_OPTION)
return;
}
int returnVal = chooser.showSaveDialog(null);
if (returnVal == JFileChooser.APPROVE_OPTION)
{
String save_path = chooser.getSelectedFile().getPath();
String backup_name = chooser.getSelectedFile().getName();
new Load_DB_Driver();
String backup = "backup database CASY to disk ='" + save_path +
"' with format, name = '" + backup_name + "'";
DB_bak_rec(backup);
}
}
public void Recover_DB()
{
int choice = JOptionPane.showConfirmDialog(null,"真的要恢复数据库吗?这个操作将会用旧的数据覆盖现在的数据!!","请慎重考虑!",JOptionPane.INFORMATION_MESSAGE);
if(choice==JOptionPane.NO_OPTION)
return;
else
{
JFileChooser chooser = new JFileChooser();
FileFilter filter = new FileNameExtensionFilter("数据库备份文件", "bak");
chooser.setFileFilter(filter);
int returnVal = chooser.showSaveDialog(null);
if (returnVal == JFileChooser.APPROVE_OPTION)
{
String path = chooser.getSelectedFile().getPath();
new Load_DB_Driver();
String recover =
"USE master RESTORE DATABASE CASY FROM disk = '"
+ path + "'";
DB_bak_rec(recover);
}
}
}
public void DB_bak_rec(String sql)
{
try
{
Connection con = DriverManager.getConnection(conURL,Username,Password);
Statement s= con.createStatement();
s.executeUpdate(sql);
JOptionPane.showMessageDialog(null, "☆ 操作成功 !! ☆", "系统消息",JOptionPane.WARNING_MESSAGE);
s.close();
con.close();
}
catch(SQLException ex)
{
JOptionPane.showMessageDialog(null,"SQLException:" + ex.getMessage(),"警告!",JOptionPane.WARNING_MESSAGE);
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?