SerialNo = (Convert.ToString((Int32)rs["RSID"] + 1)).PadRight(10,'0');
这是我程序的一个 语句,从数据表中取出最大的流水号,在这个流水号上加1,然后转化为字符串,并在前面补“0”以达到10位长度,但是补知道怎么把整数转化为字符串,请教高手,该如何写这条语句?

解决方案 »

  1.   

     iSerialNo = (int)(rs["RSID"]) + 1;
                        SerialNo=iSerialNo.ToString();
                        SerialNo="0000000000" + SerialNo;
                        SerialNo = SerialNo.Substring(SerialNo.Length - 10);
    我改了一下,发现第一句就通不过,提示类型转换错误
      

  2.   

    报歉,刚才是瞎写的,后来验证了一下,应该是int iSerialNo = (int)(rs["RSID"]) + 1;
    string SerialNo = String.Format("{0:0000000000}",iSeralNo);
      

  3.   


    using System;class test
    {
        public static void Main()
        {
            int value = 1234;
            string str = String.Format("{0, 10:0000000000}", value);
            Console.WriteLine(str);
        }
    }
      

  4.   

    不对啊,第一句就过不了
    iSerialNo = (int)rs["RSID"] + 1;
    数据库现在已经有一个“0000000001”
      

  5.   

                int num = 88888888;//int.Parse(rs["RSID"])
                string strNum = Convert.ToString(num + 1).PadLeft(10, '0');
                Console.WriteLine(strNum);
      

  6.   

    感谢各位,当初提问的时候,设置的分太少了,对不起了。
    我是这么改的:
     iSerialNo = int.Parse(rs["RSID"].ToString()) + 1;
     SerialNo = String.Format("{0, 10:0000000000}", iSerialNo);
    第一句中,还是需要rs["RSID"].ToString()做个转换,否则会提示OBJECT不能转换的错误