![](/img/trans.png)
[英]How to pass a string with comma separated values as function parameters in JAVA
[英]How to Pass List values as parameters in SQL Java
我有一個 sql 查詢(將值從一個表復制到同一數據庫中的另一個表),它采用多個值作為參數,值來自列表。
下面是我嘗試過的。雖然我沒有收到任何錯誤,但它不起作用。我想將值插入數據庫列表 EmployeeIDList= new ArrayList(Arrays.asList(123,823,456,890)); List SalaryList= new ArrayList(Arrays.asList(14437,14297,13846,13441));
con1=DriverManager.getConnection(URL1,DB_UserName,DB_Password);
log.info("Data base connection is established");
for (int i=0,j=0;i<EmployeeIDList.size();i++,j++) {
stmt = con1.prepareStatement("Insert INTO Employee(Name, Year, EmployeeID, Tax, Salary)
Select Name, Year, EmployeeID, Tax, Salary
(Employee
when EmployeeID= ? then ? // 1st ? = EmployeeID,2nd ? = Salary
when EmployeeID = ? then ?
when EmployeeID = ? then ?
else ? // ? = Salary
end ) as Employee
"From Employee2 +
"Where EmployeeIDin (?)");
stmt.setInt(1,SalaryList.get(j));
stmt.setInt(2,EmployeeIDList.get(i));
System.out.println("first salry is " +SalaryList.get(j)) ;
System.out.println("first Employeeid is " +EmployeeIDList.get(i)) ;
rs = stmt.execute();
當我在 sql 中執行“select * from Employee”時,它不返回任何值。
注意:如果我在 sql 中執行上面的插入查詢,它工作正常。只有通過 java 我無法插入值。
請試試這些代碼 String query = " Insert INTO Employee(Name, Year, EmployeeID, Tax, Salary)" + " values (?, ?, ?, ?, ?)"; 然后應用選擇查詢
我已經解決了。setInt中的位置編號有誤。謝謝大家
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.