String sql;
SqlDataReader rd;
SqlCommand cmd;
String mydate = DateTime.Now.ToString("yyyyMMdd");
cmd = new SqlCommand("select max(right(" + str + ",3)) as big_ID from " + TableName + " where left(" + str + ",8)='" + mydate + "'", cn);
        rd = cmd.ExecuteReader();
        if( rd.Read() ) {
            if( rd("big_ID") + "" == "" )
                loveme = mydate + "-" + "001";
            else
                loveme = mydate + "-" + rd("big_ID").ToString("000");
        }
        rd.Close();
        rd = null;

解决方案 »

  1.   

    loveme = mydate & "-" & Format(Val(rd("big_ID")) + 1, "000") 不是有加1吗
    我的目的是:比如已经有单号20040330-001
    下一张单就是20040330-002
      

  2.   

    在将rd("big_ID")转化为string之前对它进行+1操作不就可以了吗
    tmp = rd("big_ID") + 1;
    tmp.ToString("000");
      

  3.   

    晕了,一下午既然没把这一段vb.net代码转换为C#的
      

  4.   

    loveme = mydate & "-" & Format(Val(rd("big_ID")) + 1, "000")
    在C#里面怎么没val?两天没搞定
      

  5.   

    MD,我也是C#白痴,只能将C#代码转换成VB代码而无法将VB代码转换成C#代码.郁闷着^你可以利用这样试试.
    string s="12";
    Console.WriteLine (int.Parse(s));先将它转换成数值.然后再加.