![](/img/trans.png)
[英]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.