का उपयोग कर डाली गई पंक्ति की आईडी प्राप्त करें मेरे पास एक तालिका में एक पंक्ति डालने के लिए एक क्वेरी है, जिसमें आईडी नामक फ़ील्ड है, जो स्तंभ पर AUTO_INCREMENT का उपयोग करके पॉप्युलेट किया गया है। मैं कार्यक्षमता के अगले बिट के लिए यह मान प्राप्त करने की आवश्यकता है, लेकिन जब मैं निम्नलिखित चलाने के लिए, यह हमेशा 0 देता है, भले ही वास्तविक मूल्य 0 नहीं है:सी #
MySqlCommand comm = connect.CreateCommand();
comm.CommandText = insertInvoice;
comm.CommandText += "\'" + invoiceDate.ToString("yyyy:MM:dd hh:mm:ss") + "\', " + bookFee + ", " + adminFee + ", " + totalFee + ", " + customerID + ")";
int id = Convert.ToInt32(comm.ExecuteScalar());
मेरी समझ के अनुसार, इस आईडी लौटना चाहिए कॉलम, लेकिन यह हर बार 0 देता है। कोई विचार?
संपादित करें:
जब मैं चलाएँ:
"INSERT INTO INVOICE (INVOICE_DATE, BOOK_FEE, ADMIN_FEE, TOTAL_FEE, CUSTOMER_ID) VALUES ('2009:01:01 10:21:12', 50, 7, 57, 2134);last_insert_id();"
मैं:
{"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'last_insert_id()' at line 1"}
1. आप अंतिम CommandText निष्पादित हो जाता है कि पोस्ट कर सकते हैं? 2।क्या रिकॉर्ड वास्तव में डाले जा रहे हैं? –
मैंने क्वेरी, त्रुटि, और हाँ पोस्ट की, पंक्तियां डाली जा रही हैं। – Elie
ठीक है, "आखिरी_इनर्ट_आईडी() चुनें;" अतं मै? –