我想用一組數值列表中的一組值來構建一條SQL語句。我會從頭開始。java打印出陣列列表來建立一個sql sting
定義我的ArrayList
ArrayList<String[]> myRecords = new ArrayList<String[]>();
定義我的數組字符串:
String[] record = new String[2];
然後我循環,雖然一個文件,並拆分上逗號和記錄添加到myRecords
while(scan.hasNext())
{
record = scan.nextLine().split(",");
myRecords.add(record);
}
所以現在我需要創建一個SQL導入語句並在arraylist中使用thoes值。例如。
String sql = "insert into table (parm1, parm2) Values ";
現在我想循環雖然陣列,並把填寫參數1 & param2的。
for(String[] list : myRecords)
{
sqlString +=("(");
for(String list1 : list)
{
sqlString +=("'"+ list1+ "',");
}
sqlString+=("),");
}
sqlString += ';';
logger.info(sqlString);
現在的問題是,當我打印出它看起來像這樣的SQL字符串。
insert into table (parm1, parm2) Values ('value1','value2',),('value3','value4',),;
等等等等。
所以問題是在value2和value4的末尾有一個額外的逗號。之前的最後一個托架;我已經切換它等,但我似乎無法弄清楚如何我可以得到一個正確的格式化的SQL字符串。
這是它應該看起來。
insert into table (parm1, parm2) Values ('value1','value2'),('value3','value4');
也許這是我形成我的循環的方式。任何建議都會很棒!
我建議看在[PreparedStatement](http://docs.oracle.com/javase/7/docs/api/java/sql/PreparedStatement.html)。假設你最終將這個SQL應用到數據庫中,它可以讓你用很少的代碼完成你想要實現的內容。 – Grice 2014-10-09 18:55:34