ASP.NET中SQL数据库如何取新增记录的自动ID,请指教!求代码?

我爱运动 2017-09-25 04:20:17
protected void Button1_Click(object sender, EventArgs e)
{
string connString = System.Configuration.ConfigurationManager.ConnectionStrings["Main_Database"].ConnectionString;
SqlConnection Conn = new SqlConnection(connString);
Conn.Open(); //打开连接
string SelectSql = "select * from News_Center";
SqlDataAdapter da = new SqlDataAdapter(); //创建DataAdapter对象
da.SelectCommand = new SqlCommand(SelectSql, Conn); //取出数据库中需要的数据
DataSet ds = new DataSet(); //创建一个空DataSet对象
SqlCommandBuilder scb = new SqlCommandBuilder(da); //为DataAdapter自动生成更新命令
da.Fill(ds); //填充DataSet对象
DataRow NewRow = ds.Tables[0].NewRow(); //向DataSet第一个表对象中添加一个新行
NewRow["Time"] = DateTime.Now.ToString();
NewRow["Their_Type"] = Request.QueryString["Their_Type"].ToString();
NewRow["Name_Type"] = Name_Type_Disp;
NewRow["English_Type"] = English_Type_Disp;
NewRow["Title"] = Title.Text;
if (LinkImg.Text != "")
{
NewRow["LinkImg"] = LinkImg.Text;
NewRow["Judge_Img"] = true;
}
NewRow["Link"] = "News/index.asp?ID="+ ID; //如何取ID
ds.Tables[0].Rows.Add(NewRow); //将新建行添加到DataSet第1个表对象中
da.Update(ds); //将DataSet中数据变化提交到数据库(更新数据库)
Conn.Close();
}

NewRow["Link"] = "News/index.asp?ID="+ ID; //如何取ID
...全文
595 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
吉普赛的歌 2017-09-28
  • 打赏
  • 举报
回复
引用 2 楼 qq_25095899 的回复:
可惜你的表已经定好了,不然的话你可以用guid做主键,可以避免这些麻烦, 自增ID有些地方会很不好弄,比如数据迁移之类的。
guid 效率很差的了, 在 int 自增列面前只能甘拜下风。
threenewbee 2017-09-26
  • 打赏
  • 举报
回复
SELECT @@Identity 放在事务或者存储过程里
homesos 2017-09-25
  • 打赏
  • 举报
回复
最好用存储过程封装,加一列guid做唯一标示。
大然然 2017-09-25
  • 打赏
  • 举报
回复
可惜你的表已经定好了,不然的话你可以用guid做主键,可以避免这些麻烦, 自增ID有些地方会很不好弄,比如数据迁移之类的。
大然然 2017-09-25
  • 打赏
  • 举报
回复
肯定会有人告诉你用SELECT @@Identity, 他可以完成你的需求, 但有个问题你要注意 @@Identity是全局的,体现在所有作用域,如果出现多个作用域的情况的时候,@@IDENTITY所取得的ID号就是最后一个作用域产生的结果。 避免这个的方法就是用SCOPE_IDENTITY

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧