मैं एक एक्सेस डेटाबेस के साथ VB.NET का उपयोग कर रहा हूं, मैं मान डालता हूं लेकिन फिर मुझे अंतिम डालने वाली आईडी (ऑटो नंबर) प्राप्त करने और संबंधित तालिका में डालने की आवश्यकता होती है।vb.net sql अंतिम डाला गया आईडी
मैंने @@ पहचान और MAX (कॉलम) की कोशिश की है लेकिन @@ पहचान शून्य लौटाती है और MAX बहुत भरोसेमंद नहीं है (कभी-कभी डेटा डालने में धीमा होता है, इसलिए डालने से पहले आईडी प्राप्त करें)।
Dim insertSql = datalayer.getDataTable((String.Format("INSERT INTO users (username) VALUES ({0})", username)))
Dim newID = datalayer.getDataTable((String.Format("SELECT @@IDENTITY FROM users")))
Dim con As OleDbConnection = getConnection()
con.Open()
Dim sqlCommand As OleDbCommand = New OleDbCommand(String.Format(insertSql), con)
sqlCommand.ExecuteNonQuery()
यह दो कार्यों में किया जाता है, इसलिए उपर्युक्त कोड भ्रमित लग सकता है, लेकिन यह केवल दो कार्यों से लिया गया है। दो कथन निष्पादित किए गए हैं, लेकिन मैंने अभी एक उदाहरण के रूप में निष्पादित किया है।
क्या @@ पहचान और MAX का विकल्प है, क्योंकि मुझे लगता है कि @@ पहचान के साथ गलत कैसे चल रहा है?
किसी भी सलाह के लिए धन्यवाद :)।
, मेरा आखिरी संपादित देखें के बारे में पहुँच एक आदेश में कई बयानों का समर्थन नहीं। क्या आप पुष्टि कर सकते हैं कि यह वास्तव में काम करता है या आप किसी अन्य दृष्टिकोण के लिए जाते हैं? –