主页 > 知识库 > asp.net中获取新增加记录的ID Access版

asp.net中获取新增加记录的ID Access版

热门标签:电子围栏 服务器配置 阿里云 银行业务 Mysql连接数设置 科大讯飞语音识别系统 Linux服务器 团购网站
这里参考了Erist.Protal里的代码
复制代码 代码如下:

/// summary>
/// 增加新的文章
/// /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>新增加文章的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;
//格式化HTML标记
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";
//取得下一个ID号
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将文章增加简介属性 姜勇
OleCmd.Parameters.Add("ArticleIntroduction",ArticleIntroduction);
//执行
Erist.Common.Data.DataProvider.ExecNonQueryOle(OleCmd);
return ArticleID;
}

注意看背景色为橙色的地方调用了Erist.Common.Data.DataProvider.GetAutoID()
下面是此方法的代码
复制代码 代码如下:

/**//// summary>
/// 取得数据集
/// /summary>
/// param name="SqlCmd">执行命令的SqlCommand/param>
/// returns>返回取得的数据集/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 )
//捕获数据层错误并返回给上一层。
{
throw ex;
}
finally
{
//断开链接
if (OleCmd.Connection.State == ConnectionState.Open) OleCmd.Connection.Close();

}
}

/**//// summary>
/// 取得某一表的最大字段值
/// /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;
}
}

根据传过来的FieldName 和TableName 来读数据库当前最大的FieldName 如果没有返回1
有则在此基础上+1 因为是要获取要添加记录的唯一FieldName
此处FieldName是ArticleID
此方法还是不错的.
您可能感兴趣的文章:
  • ASP.NET 连接ACCESS数据库的简单方法
  • asp.net访问Access数据库溢出错误
  • asp.net(C#) Access 数据操作类
  • asp.net 数据库备份还原(sqlserver+access)
  • asp.net access添加返回自递增id的实现方法
  • asp.net和asp下ACCESS的参数化查询
  • ACCESS的参数化查询,附VBSCRIPT(ASP)和C#(ASP.NET)函数
  • ASP.net(c#)用类的思想实现插入数据到ACCESS例子
  • ASP.NET 链接 Access 数据库路径问题最终解决方案
  • ASP.NET连接 Access数据库的几种方法

标签:衢州 枣庄 大理 萍乡 蚌埠 江苏 广元 衡水

巨人网络通讯声明:本文标题《asp.net中获取新增加记录的ID Access版》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266