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。大神帮我看看,最好能帮我修改一下。

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

或者将id列类型改为int。

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

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

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