Java: How To Get Auto Increment Values After SQL Insert جاوة : كيف تحصل على قيم ذاتية زيادة تضاف بعد لغة الاستعلامات البنيويه
While insert ing a SQL query we do not specify the auto increment values, if any. وفي حين ان ادراج اي لغة الاستعلامات البنيويه ، كرها استفسار نحن لا تحدد ذاتية زيادة القيم ، ان وجدت. However they are often required for further processing. بيد انها غالبا ما تكون حاجة لمزيد من المعالجه. Here is how you can obtain auto increment / auto generated values after a successful SQL INSERT statement. هنا هو كيف يمكنك الحصول على زيادة ذاتية / للسيارات ولدت بعد نجاح القيم تضاف لغة الاستعلامات البنيويه.
// // Insert one row that will generate an AUTO INCREMENT // key in the primary key field // stmt.executeUpdate( "INSERT INTO autoIncTest (comment) " + "values ('How can I get the auto increment field value?')", Statement.RETURN_GENERATED_KEYS); // // Use Statement.getGeneratedKeys() // to retrieve the value(s) // int autoIncValue = -1; rs = stmt.getGeneratedKeys(); if (rs.next()) { autoIncValue = rs.getInt(1); } else { // Error } rs.close(); / / / / ادراج صف واحد من شأنها ان تولد زيادة ذاتية / / مفتاح المفتاح الأساسي في ميدان / / stmt.executeupdate ( "تضاف الى autoinctest (التعليق)" + "القيم (' كيف يمكنني ان احصل على ذاتية زيادة قيمة الحقل؟ ')" ، Statement.return_generated_keys) ؛ / / / / استخدام statement.getgeneratedkeys () / / لاسترجاع قيمة (ق) / / دولى autoincvalue = -1 ؛ جتجنرتدكس] () ؛ اذا كانت الاجابه ب (rs.next ( () (Autoincvalue = rs.getint (1) ؛) والا (/ / خطا) rs.close () ؛ You can also specify and fetch multiple auto-increment key values. يمكنك ايضا تحديد واحضار متعددة السيارات - زيادة القيم الاساسية. This is not just a convenience but a necessity where the primary key is also the auto increment key. وهذه ليست مجرد الراحة وانما هو ضرورة المفتاح الاساسي فيها هو ايضا ذاتية زيادة الرئيسية.
Filed under المقدم بمقتضى Database قاعدة بيانات , ، HSQLDB HSQLDB هسكلدب , ، Headline News أهم الانباء , ، How To كيف , ، J2EE تنافسية , ، Java Software برنامج جافا , ، Programming البرمجه , ، RDBMS RDBMS تجربة | |
| |
RSS 2.0 ار اس اس 2،0 | |
Trackback this Article | هذه المادة |
Email this Article ارسل هذه المادة
You may also like to read ويمكنك ايضا ان تقرأ |





June 11th, 2007 at 8:42 pm الحاديه عشرة حزيران ، 2007 في الساعة 8:42
This doesn’t work with postgres (at least, when I last tried it). وهذا لا العمل مع Postgres) على الاقل ، عندما حاول الاخير). Instead, I use: وبدلا من ذلك ، انا استعمل :
PreparedStatement insert = conn.prepareStatement(”insert into thetable (owner, created) values (?,?); select currval(’thetable_id_seq’)”; Preparedstatement تضاف conn.preparestatement = ( "تضاف الى thetable (مالك ، وخلق قيم (؟،؟)؛اختر currval (' thetable_id_seq ')" ؛
…
insert.execute(); insert.execute () ؛
if (insert.getUpdateCount() == 1 && insert.getMoreResults()) { اذا كانت الاجابه ب (insert.getupdatecount () == 1 & & insert.getmoreresults ()) (
ResultSet res = insert.getResultSet(); Resultset القرار insert.getresultset = () ؛
int id = res.getInt(1); رقم تعريف دولي res.getint = (1) ؛
} )
June 12th, 2007 at 12:34 am يونيو 12th ، 2007 في الساعة 12:34
Thanks for sharing. شكرا لتقاسم. I have tested my code on MySQL. لقد اختبرت قانون بلدي على الخلية.