JustinRondo
2016-02-11 07:38
采纳率: 100%
浏览 1.6k

C#连接SQL,产生递增id的问题

string sqlCommand5 = "select max(id) from VisitorLog";
SqlDataAdapter sqlDataAdapter5 = new SqlDataAdapter(sqlCommand5, conn);
DataSet ds5 = new DataSet();
sqlDataAdapter5.Fill(ds5);
if (ds5 != null && ds5.Tables[0].Rows.Count > 0)
{
string n = ds5.Tables[0].Rows[0][0].ToString();
if (n == "")
{
id = 1;
}
else
{
id = Convert.ToInt32(n) + 1;
}
}

                    我想做一个id递增事件,可是我这个id递增到10之后,就不再增加了,id加到10以后,全部为10。大神帮我看看,最好能帮我修改一下。
  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • threenewbee 2016-02-11 13:28
    已采纳

    直接将你的id列定义为数据库的递增id。

    或者将id列类型改为int。

    你的问题是,id列是字符串。所以max(id)查询出来的是按照ascii序排列的,那么如果你的数据库有 1 2 3 4 5 6 7 8 9 10这么几个数据,max(id)查询出来的总是9。因为10的第一个字符'1' < '9'

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • 把分全给哥 2016-02-11 12:13

    图片说明这种事情就交给数据库解决吧

    评论
    解决 无用
    打赏 举报
  • wyy94 2016-02-14 08:46

    创建表的时候设置id自增多好

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题