我想将sqlite数据库导出/保存到另一个空间(例如:C,D,任何地方) 通过使用java ... 我希望有人能帮我解决这个问题.. 观点是 也许使用java swing制作一个接口,这个程序有一个sqlite db,我们有一个按钮(另存为)按,可以将此db保存到另一个空间 我找不到很多资源要查找,所以我希望有人可以帮我完成这个程序。 我会很高兴,谢谢你。
答案 0 :(得分:0)
SQLite允许您ATTACH
另一个数据库文件(可以位于任何地方)。然后,您只需使用SQL语句copy the contents over。这就是你想要的东西。
ATTACH DATABASE '/the/path/to/the/other/db.sqlite' AS otherdb;
CREATE TABLE otherdb.theTableName (...);
INSERT INTO otherdb.theTableName SELECT * FROM main.theTableName;
或者,没有连接打开只需复制数据库文件。
答案 1 :(得分:0)
try{
filename = null;
HSSFWorkbook hwb=new HSSFWorkbook();
HSSFSheet sheet = hwb.createSheet("new sheet");
HSSFRow rowhead = sheet.createRow((short)0);
rowhead.createCell((short) 0).setCellValue("Invoice No");
rowhead.createCell((short) 1).setCellValue("Date");
rowhead.createCell((short) 2).setCellValue("Customer");
rowhead.createCell((short) 3).setCellValue("Reference No.");
rowhead.createCell((short) 4).setCellValue("Qty");
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/animal1", "root", "315921");
Statement st=con.createStatement();
ResultSet rs=st.executeQuery("Select * from few1");
int i=1;
while(rs.next()){
HSSFRow row= sheet.createRow((short)i);
row.createCell((short) 0).setCellValue(rs.getString("Invoice"));
row.createCell((short) 1).setCellValue(rs.getString("Date"));
row.createCell((short) 2).setCellValue(rs.getString("Customer"));
row.createCell((short) 3).setCellValue(rs.getString("Reference"));
row.createCell((short) 4).setCellValue(rs.getString("Qty"));
i++;
}
JFileChooser fileChooser = new JFileChooser();
int retval = fileChooser.showSaveDialog(null);
if (retval == JFileChooser.APPROVE_OPTION) {
filename = fileChooser.getSelectedFile();
if (!filename.getName().toLowerCase().endsWith(".xls")) {
filename = new File(filename.getParentFile(), filename.getName() + ".xls");
}
}
FileOutputStream fileOut = new FileOutputStream(filename);
hwb.write(fileOut);
fileOut.close();
JOptionPane.showMessageDialog(this, "Your excel file has been generated!");
} catch ( IOException | ClassNotFoundException | SQLException ex ) {
System.out.println(ex);
}
它用于Java在Microsoft excel中导出MySQL数据。