Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

अंतिम सम्मिलित रिकॉर्ड की आईडी प्राप्त करें - एक्सेस डीएओ, ओडीबीसी, एसक्यूएल सर्वर 2008 पहचान फ़ील्ड

जहां तक ​​मेरी जानकारी है @@IDENTITY कर्सर-आधारित आवेषण के लिए काम नहीं करता है। DAO और ADO दोनों ही परदे के पीछे कर्सर का उपयोग करते हैं।

आपके बाद .Update वह रिकॉर्ड जो आपको केवल मान पढ़कर पहचान मान वापस पाने में सक्षम होना चाहिए।

कीसेट सेमेन्टिक्स के साथ खोले गए एडीओ रिकॉर्डसेट के माध्यम से निम्नलिखित मेरे लिए ठीक काम करता है:

r.Update
Debug.Print r("ItemID")

डायनासेट सेमेन्टिक्स के साथ खोले गए डीएओ रिकॉर्डसेट के माध्यम से निम्नलिखित मेरे लिए ठीक काम करता है:

r.Update
r.Bookmark = r.LastModified
Debug.Print r("ItemID")

आपको .Requery . से बचना चाहिए और .MoveFirst , आप समवर्ती समस्याओं का परिचय दे रहे हैं। विचार करें:

Dim r as DAO.Recordset, db as DAO.Database
Set db = CurrentDb
Set r = db.OpenRecordset("SELECT TOP 1 * FROM item ORDER BY ItemID DESC", dbOpenDynaset, dbSeeChanges)
r.AddNew
''// Set field values here
r.Update
''// At this point another user adds a new record
r.Requery
r.MoveFirst ''// ORDER BY ItemID DESC means that you're going to see the new user's row
Debug.Print r("ItemID")


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. आप किसी तालिका के कॉलम नाम कैसे वापस करते हैं?

  2. EF4 के साथ डेटाबेस जेनरेट किए गए GUID और डेटाटाइम का उपयोग करना

  3. टेक्स्ट के रूप में डेटा प्रकार वाले डिस्टिंक्ट के रूप में फ़ील्ड का चयन करें। एस क्यू एल सर्वर

  4. स्तंभ मान के आधार पर पंक्तियाँ बनाना

  5. SQL सर्वर कॉलम में html से डेटा कैसे प्राप्त करें