Or simple as this: Get the last ID before inserting the row from the table and 
then add +1 to it, which will give you the ID of the recently inserted row's 
ID, given the situation that the row insert in the table was successful.

Hth,
Karthick


-----Original Message-----
From: [email protected]
[mailto:[EMAIL PROTECTED] Behalf Of Mat�as Ni�o
ListMail
Sent: Tuesday, April 19, 2005 3:26 AM
To: [email protected]
Subject: RE: [AspNetAnyQuestionIsOk] How to get the value of auto field
of current inserted row



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



 





 
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/
 



Reply via email to