[英]How to store an arraylist data in room database in android studio
[英]How to store arraylist data into database
大家好,我想將存儲在數組列表中的數據插入數據庫中,我已經嘗試從Excel文件中讀取並存儲到數組列表中,所以現在我想將數據插入數據庫中,但現在還不知道如何將其存儲到數據庫中
public class ReadExcelFile {
int ColumnCount = 0;
public void readExcel(String filePath, String fileName, String sheetName) throws IOException {
File file = new File(filePath + "\\" + fileName);
FileInputStream inputStream = new FileInputStream(file);
Workbook Workbook = null;
String fileExtensionName = fileName.substring(fileName.indexOf("."));
if (fileExtensionName.equals(".xlsx")) {
Workbook = new HSSFWorkbook(inputStream);
} else if (fileExtensionName.equals(".xls")) {
Workbook = new HSSFWorkbook(inputStream);
}
Sheet MSheet = Workbook.getSheet(sheetName);
int rowCount = MSheet.getLastRowNum() - MSheet.getFirstRowNum();
ArrayList<String> arra = new ArrayList<String>();
for (int i = 0; i < rowCount + 1; i++) {
Row row = MSheet.getRow(i);
if (i == 0) {
ColumnCount = row.getLastCellNum();
}
for (int j = 0; j < row.getLastCellNum(); j++) {
// System.out.print(row.getCell(j).getStringCellValue() + "|| ");
//ArrayList<String> getdata=new ArrayList<String>();
arra.add(row.getCell(j).getStringCellValue());
//System.out.println(arra);
ArrayList<String> keyword = arra;
keyword.contains(row.getCell(j).getStringCellValue());
// System.out.println(row.getCell(j).getStringCellValue());
// System.out.println(arra);
//Dictionary getdata = new Hashtable();
//getdata.put(row.getCell(j).getStringCellValue()," ");
//System.out.println(getdata);
}
System.out.println(arra);
}
}
public static void main(String args[]) throws IOException {
ReadExcelFile objExcelFile = new ReadExcelFile();
String filePath = System.getProperty("user.dir");
objExcelFile.readExcel(filePath, "RuleBook.xls", "Data");
}
}
我得到的輸出是:[客戶名稱,位置名稱,服務點位置,位置城市,州/省,位置國家/地區,帳號,備用帳號,儀表編號,發票ID,發票月份,發票日期,服務開始日期,服務結束日期,服務天數,供應商名稱,供應商服務名稱,唯一ID,數據類別類型,數據類別,子類別/子桶,值名稱,值,計量單位,總發票金額,到期日,發票收據日期,調整標志,估計值與實際讀取值,圖像詳細信息,第二個供應商,客戶名稱,無償購買?,待定,待定,待定,待定,補償,商業,身份識別,投票細節,14 / 09/2017 n,待提取?,細節,首次亮相,索引,要計算?,TBD ?, TBD ?, TBD ?, TBD ?, TBD,TBD,TBD,TBD,TBD ,FactureTTC,先行者,TBD,TBD,Relve Estime-哪個月份?,TBD,TBD]
因此,我想將“客戶端名稱”存儲到“二級供應商”作為“數據庫”列名稱,並希望從“ Nom du客戶端”存儲在“客戶端名稱”列下,因此請幫助我
我不太清楚問題是什么,但是可以使用JDBC驅動程序和MySQL數據庫來將arraylist存儲在數據庫中,如下所示:
var host = "localhost";
var databaseName = "databasename";
var port = "3306";
var url = "jdbc:mysql://" + host + ":" + port + "/" + databaseName;
try(Connection con = DriverManager.getConnection(url, "username", "password")) {
String SQL = "INSERT INTO tablename(client_name) VALUES(?)";
PreparedStatement stmt = con.prepareStatement(SQL);
for(String clientName : listOfClientNames) {
stmt.setString(1, clientName);
stmt.addBatch();
}
stmt.executeBatch();
} catch (SQLException e) {
System.out.println("Could not connect");
}
您需要將ClientName存儲在一個列表中(我稱之為listOfClientNames)
關於如何設置MySQL數據庫,有許多教程和指南。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.