I'm no expert at ASP.NET yet, but since nobody responded to this I figured I'd give it a shot.
As far as I understand it, the only way to obtain the autoincremented value of a table with ADO.NET talking to a modern SQL or Access database is to fire a "SELECT @@IDENTITY" executescalar command immediately after the insert command which will return the last auto-value created by the database. If you're working with datasets/data adapters, you can also access the data adapter's OnRowUpdated event and add code there that fires the @@IDENTITY command and inserts the value into the new row's ID column. I have also read that DataTables with ID datacolumns that have all the AutoIncrement settings set on them should also be able to produce new values, but I imagine that won't be very favorable in a disconnected state from the database. I know there is always the concern that in a situation with many new rows being created at once, there is always the risk of the @@IDENTITY command returning the wrong new value for the row. I wonder if it would be possible to minimize this potential hazard by sending the Insert command in batch format with the SELECT @@IDENTITY tagged on the end of it and then grabbing the second resultset. Anyway, just some things to ponder. I'm sure Mr. Carroll knows of some nifty component/assembly for you that releases you from having to do any of this... ;-) ...Matias P.S. Speaking of nifty assemblies, I do know the .NET Data Application Block (downloadable at MSDN) contains a bunch of methods with very clean encapsulations of much of the wirey aspects of ADO.NET. ________________________________ From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Arindam Sent: Sunday, April 17, 2005 9:57 AM To: [email protected] Subject: [AspNetAnyQuestionIsOk] How to get the value of auto field of current inserted row I have a table with 4 columns, > First Column is auto-incremented numeric field, > > I want to get the value of that auto incremented field, when i insert a new > record. > because i need to send that number back to my funcation. > > > Pls look at the function bellow. > > > > public bool AddHotelBookingInfo(Hashtable BookingInfo,ref string > BookingConfrmNo) > { > ObjConn.OpenConnection (); > try > { > string InsertQry="Insert into Tab_BookingDtls (H_Name,H_Id,Guest_FName) > values"; > InsertQry += " '"+ > BookingInfo["h_Name"].ToString().Replace("'","''")+"','"+BookingInfo["h_Id"].ToString().Replace("'","''")+"','"+BookingInfo["g_FName"].ToString().Replace("'","''")+"'"; > SqlCommand objCmd=new SqlCommand(InsertQry,ObjConn.mysqlconn); > objCmd.ExecuteNonQuery(); > BookingConfrmNo="100000"; //autoincremented value to be replaced with. > ObjConn.CloseConnection(); > return true; > } > catch > { > BookingConfrmNo="0"; > ObjConn.CloseConnection(); > return false; > } > } Thanks & Regards Arindam Web Designer & Developer Yahoo! India Matrimony: Find your life partneronline. [Non-text portions of this message have been removed] ________________________________ Yahoo! Groups Links * To visit your group on the web, go to: http://groups.yahoo.com/group/AspNetAnyQuestionIsOk/ * To unsubscribe from this group, send an email to: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> * Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service <http://docs.yahoo.com/info/terms/> . [Non-text portions of this message have been removed] Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/AspNetAnyQuestionIsOk/ <*> To unsubscribe from this group, send an email to: [EMAIL PROTECTED] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/
