数据库表:
订单单号  char(14),//为主键
订单日期,datetime,
进货部门 char(16)
....
要在lable1中显示ISBN+订单号的最大值+1 实现初始采购单的编号

解决方案 »

  1.   

    sql=select  max(订单单号) from T
    new订单单号="ISBN"+(int.parse( excutescale(sql))+1).tostring("d10")
      

  2.   

    问题解决:
    SqlConnection conn = new SqlConnection();
                conn.ConnectionString = "data source=localhost;initial catalog=ERP;integrated security=true";
                conn.Open();            //label4自动编号
                //获取订单编号的最大值
                string sql = " select top 1 订单编号 from 采购订单 order by 订单编号 Desc";
                SqlCommand cmd = new SqlCommand(sql  , conn);
                string i = cmd.ExecuteScalar().ToString();
                string j = i.Substring(10, 3);//截取第10个字符后3位
                label4.Text = "JXGZSYDDCS"+Convert.ToString(int.Parse(j) + 1);    
      

  3.   

    方法一
    在程序中写函数
    public class OrderOperate
    {
    public void OrderNum(string strsql,string tablename,string tablecolumn,string letter,string letterNum,Label lbOrderID)
    {
    string strOrder;
    int num;
    SqlConnection con=new SqlConnection("server=servername;uid=sa;pwd=;database=databasename;integrated security=sspi");
    SqlDataAdapeter sda=new SqlDataAdapter(strsql,con);
    DataSet myds=new DataSet();
    sda.fill(myds,tablename);
    if(myds.Tables[tablename].Rows.Count==0)
    {
    lbOrderID=letter+letterNum;
    }
    else
    {
    strOrder=Convert.ToString(myds.Tables[tablename].Rows[myds.Tables[tablename].rows.Count-1][tablecolumn]).Trim();
    num=Convert.ToInt32(strOrder.Substring(4,6))+1;
    strOrder=letter+num;
    lbOrderID=strOrder;
    }
    }
    }
    在程序中调用
    OrderOperate order=new OrderOperate();
    order.OrderNum("select * from tb_OrderTable","tb_OrderTable","OrderID","ISBN","100000",lableOrderIDname);
    呵呵,你也可以写存储过程,用来判断OrederTable是否有记录,再获取当前最大RowIndex
      

  4.   

    max(订单单号)取出后再加即可.