Get the ID Access version of the newly added record in asp.net

  • 2020-05-17 05:07:11
  • OfStack

This is a reference to the code in Erist.Protal
 
/// <summary> 
///  Add new articles  
/// </summary> 
/// <param name="ArticleTitle"></param> 
/// <param name="Author"></param> 
/// <param name="ArticleFrom"></param> 
/// <param name="Creator"></param> 
/// <param name="ModifyBy"></param> 
/// <param name="Content"></param> 
/// <param name="ChannelID"></param> 
/// <param name="IsOnTop"></param> 
/// <param name="IsCommend"></param> 
/// <param name="IsCheck"></param> 
/// <param name="Keyword"></param> 
/// <param name="ArticleIntroduction"></param> 
/// <returns> Newly added articles ID</returns> 
public int AddArticle(string ArticleTitle, 
string Author, 
string ArticleFrom, 
int Creator, 
int ModifyBy, 
string Content, 
int ChannelID, 
bool IsOnTop, 
bool IsCommend, 
bool IsCheck, 
string Keyword, 
string ArticleIntroduction) 
{ 
int ArticleID =-1; 
// formatting HTML tag  
ArticleTitle=System.Web.HttpUtility.HtmlEncode(ArticleTitle); 
Author=System.Web.HttpUtility.HtmlEncode(Author); 
Keyword=System.Web.HttpUtility.HtmlEncode(Keyword); 

OleDbConnection OleCon=new OleDbConnection(Globals.ConnectString); 
OleDbCommand OleCmd=new OleDbCommand(); 
OleCmd.CommandType=System.Data.CommandType.StoredProcedure; 
OleCmd.Connection=OleCon; 
OleCmd.CommandText="AddArticle"; 
// Get under 1 a ID No.  
ArticleID= Erist.Common.Data.DataProvider.GetAutoID("ArticleID","Article",Globals.ConnectString); 
OleCmd.Parameters.Add("ArticleID",ArticleID); 
OleCmd.Parameters.Add("ArticleTitle",ArticleTitle); 
OleCmd.Parameters.Add("Author",Author); 
OleCmd.Parameters.Add("ArticleFrom",ArticleFrom); 
OleCmd.Parameters.Add("Creator",Creator); 
OleCmd.Parameters.Add("ModifyBy",ModifyBy); 
OleCmd.Parameters.Add("Content",Content); 
OleCmd.Parameters.Add("ChannelID",ChannelID); 
OleCmd.Parameters.Add("IsOnTop",IsOnTop); 
OleCmd.Parameters.Add("IsCommend",IsCommend); 
OleCmd.Parameters.Add("IsCheck",IsCheck); 
OleCmd.Parameters.Add("Keyword",Keyword); 
//2004-2-2 Add the introduction attribute to the article   Jiang Yong  
OleCmd.Parameters.Add("ArticleIntroduction",ArticleIntroduction); 
// perform  
Erist.Common.Data.DataProvider.ExecNonQueryOle(OleCmd); 
return ArticleID; 
} 

Look for the background color to orange place call Erist. Common. Data. DataProvider. GetAutoID ()
Here is the code for this method
 
/**//// <summary> 
///  Get the data set  
/// </summary> 
/// <param name="SqlCmd"> executive-ordered SqlCommand</param> 
/// <returns> Returns the retrieved data set </returns> 
public static DataSet GetDataSetOle(OleDbCommand OleCmd ) 
{ 
OleDbDataAdapter t_DataAdapter ; 
DataSet t_DataSet=new DataSet(); 
try 
{ 
if (OleCmd.Connection.State != ConnectionState.Open) OleCmd.Connection.Open(); 
t_DataAdapter = new OleDbDataAdapter(OleCmd); 
t_DataAdapter.Fill(t_DataSet); 
return t_DataSet; 
} 
catch(Exception ex ) 
// Catch the data layer error and return it to the 1 Layer.  
{ 
throw ex; 
} 
finally 
{ 
// Disconnect the link  
if (OleCmd.Connection.State == ConnectionState.Open) OleCmd.Connection.Close(); 

} 
} 

/**//// <summary> 
///  Obtain a 1 The maximum field value of the table  
/// </summary> 
/// <param name="FieldName"></param> 
/// <param name="TableName"></param> 
/// <returns></returns> 
public static int GetAutoID(string FieldName ,string TableName,string ConnectString) 
{ 
DataSet ds; 
OleDbConnection OleCon=new OleDbConnection(ConnectString); 
OleDbCommand OleCmd=new OleDbCommand(); 
OleCmd.CommandText="Select Max(" + FieldName +") as MaxID from " + TableName; 
OleCmd.CommandType=System.Data.CommandType.Text; 
OleCmd.Connection=OleCon; 
ds=GetDataSetOle(OleCmd); 
if( ds.Tables[0].Rows[0][0] == DBNull.Value) 
{ 
return 1; 
} 
else 
{ 
return int.Parse(ds.Tables[0].Rows[0][0].ToString())+ 1; 
} 
} 

Read the database's current maximum FieldName based on the FieldName and TableName passed in if no 1 is returned
There is +1 on top of this because you are getting only 1FieldName to add records to
Here FieldName is ArticleID
This method is not bad.

Related articles: