JustinRondo 2016-02-11 07:38 采纳率: 100%
浏览 1566
已采纳

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'

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
  • ¥15 安装svn网络有问题怎么办