![](/img/trans.png)
[英]how do I find out if an update or insert was successful in dynamoDB using the Java SDK?
[英]How do you determine if an insert or update was successful using Java and MySQL?
我正在使用Java連接到MySQL數據庫。 我正在嘗試將數據插入或更新到數據庫中。
盡管我非常確定插入是成功的,但它返回false。
根據“execute”API,返回值為“如果第一個結果是ResultSet對象,則為true;如果是更新計數,則為false”或“沒有結果”。
如何確定插入或更新是否成功?
public boolean insertSelections(String selection, String name){
String sql ="INSERT INTO WORKREPORT VALUES (?,?,?,?,?)";
boolean action = false;
try {
PreparedStatement stmt = conn.prepareStatement(sql);
SimpleDateFormat dateFormat = new java.text.SimpleDateFormat("yyyy:MM:dd hh:mm:ss");
String formatDate = dateFormat.format(new java.util.Date(System.currentTimeMillis()));
java.util.Date mDate = dateFormat.parse(formatDate);
java.sql.Timestamp timeStamp = new java.sql.Timestamp(System.currentTimeMillis());
// Date time= new Date(mDate.getTime());
stmt.setInt(1, Integer.parseInt(getNumberByName(name).trim()));
stmt.setString(2, name);
// stmt.setDate(3, time);
stmt.setTimestamp(3, timeStamp);
stmt.setString(4, selection);
stmt.setString(5, "N/A");
action = stmt.execute();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return action;
}
由於您使用的是PreparedStatement
,因此可以調用executeUpdate()
-
int count = stmt.executeUpdate();
action = (count > 0); // <-- something like this.
從上面的Javadoc( 返回 )鏈接,重點補充說,
(1) SQL數據操作語言 (DML)語句的行計數或(2)0表示不返回任何內容的SQL語句。
如果要插入大量條目,我更喜歡addBatch()
和executeBatch()
。
首先,你應該知道:
boolean execute()在此PreparedStatement對象中執行SQL語句,該對象可以是任何類型的SQL語句。
ResultSet executeQuery()在此PreparedStatement對象中執行SQL查詢,並返回查詢生成的ResultSet對象。
int executeUpdate()執行此PreparedStatement對象中的SQL語句,該語句必須是SQL INSERT,UPDATE或DELETE語句; 或者不返回任何內容的SQL語句,例如DDL語句。
int i = stmt.executeUpdate();
if (i > 0) {
System.out.println("success");
} else {
System.out.println("stuck somewhere");
}
試試這個並檢查插件是否發生
如果你沒有得到異常,我認為查詢就可以了。 或者,您可以使用executeUpdate()( http://docs.oracle.com/javase/7/docs/api/java/sql/PreparedStatement.html#executeUpdate() )
您可以執行選擇計數(*)如果需要,可以驗證記錄數。
試試這個,無論你是想知道數據是否插入,如果插入記錄,它返回true或者返回false。
if(action > 0){
return true;
}else{
return false;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.