从varchar生成id到int sql server

时间:2014-06-24 03:43:31

标签: c# sql-server

我有一个字段名称为KodePosition varchar数据类型的表。 当数据值为| 001 |时然后,输入新数据,为什么返回数据| 2 | ???  我希望数据是| 002 |。

这是我的代码,所以我要做些什么来修复?

        SqlConnection.Open();
        String query = "Select max(KodePosition) from Position";
        SqlCommand.Connection = SqlConnection;
        SqlCommand.CommandText = query;            
        int kdPos = Convert.ToInt32(SqlCommand.ExecuteScalar());
        int NewkdPos = kdPos + 1;
        return NewkdPos;

请帮助,谢谢... :)

1 个答案:

答案 0 :(得分:0)

这是因为你要返回一个整数,所以不会包括前导0。如果需要前导零,则必须返回格式化的nchar或varchar。尝试返回:

return ("000" + NewkdPos.ToString()).Substring(NewkdPos.ToString().Length, 3);