3 回答
TA贡献1772条经验 获得超6个赞
当我们插入一条数据的时候,我们很多时候都想立刻获取当前插入的主键值返回以做它用。我们通常的做法有如下几种:
1. 先 select max(id) +1 ,然后将+1后的值作为主键插入数据库;
2. 使用特定数据库的 auto_increment 特性,在插入数据完成后,使用 select max(id) 获取主键值;
数据库能办到干嘛要用C#做,
我的老师,以前说过这样一句话,改变了我对数据库的看法。
“不要什么事,都放在代码里做。数据库能做很多事,你不充分利用它,那你还用什么数据库?”
下面可以借鉴一下
private static int GetMaxId(int iditems)
{
int maxid = 0;
foreach (int id in iditems)
{
if (id > maxid)
{
maxid = Id;
}
}
return maxid;
TA贡献1836条经验 获得超5个赞
后台?您指的是C#代码?
在C#执行SQL语句的时候
// 摘要:
// 执行查询,并返回查询所返回的结果集中第一行的第一列。忽略其他列或行。
//
// 返回结果:
// 结果集中第一行的第一列;如果结果集为空,则为空引用(在 Visual Basic 中为 Nothing)。
//
// 异常:
// System.Data.SqlClient.SqlException:
public override object ExecuteScalar();
SqlCommand c = new SqlCommand(查询文本,SQL连接);
object obj= c.ExecuteScalar();
TA贡献1865条经验 获得超7个赞
取最大值,直接在SQL里面+1 就可以了。
select isnull(max(u_Id),0) +1 as MaxValues from userInfo
- 3 回答
- 0 关注
- 304 浏览
添加回答
举报