Select 'CK'+RIGHT(CAST(YEAR(GETDATE()) AS VARCHAR(4)),2)+RIGHT('0'+ltrim(MONTH(GETDATE())),2)+'0001'select replicate('0',5-len('11'))+'11' 
用上面的做了一个存储过程,怎么取出表中的最大编号,然后给它加1,最后在付给一个文本框啊

解决方案 »

  1.   

    select max(column) from tableName
      

  2.   

    select max(编号字段) from 表
    得到后加1再赋值
      

  3.   

    select max(id) from table
      

  4.   

    create table #(col nvarchar(50))
    insert into #
    Select 'CK'+RIGHT(CAST(YEAR(GETDATE()) AS VARCHAR(4)),2)+RIGHT('0'+ltrim(MONTH(GETDATE())),2)+'0001' union all
    Select 'CK'+RIGHT(CAST(YEAR(GETDATE()) AS VARCHAR(4)),2)+RIGHT('0'+ltrim(MONTH(GETDATE())),2)+'0002' union all
    Select 'CK'+RIGHT(CAST(YEAR(GETDATE()) AS VARCHAR(4)),2)+RIGHT('0'+ltrim(MONTH(GETDATE())),2)+'0003'
    select max(right(col,8)) from #/*
    (无列名)
    11090003
    */
      

  5.   

    ALTER PROCEDURE [dbo].[Add_OutStore_Info]
    @DOCUMENTCODE NVARCHAR(50),
    @BUSSINESSCODE NVARCHAR(50),
    @DODATE NVARCHAR(10),
    @UNIT NVARCHAR(50),
    @OPERATOR NVARCHAR(50),
    @TYPE NVARCHAR(50),
    @REMARK NVARCHAR(500),
    @RESULT NVARCHAR(50) OUTPUT
    AS
    BEGIN
    SET @RESULT='FAILED'
    DECLARE @LASTCODE NVARCHAR(50),@TEMP INT
    SELECT @LASTCODE=MAX(Code) FROM tblOutStore WHERE Code LIKE CONVERT(NVARCHAR(8),GETDATE(),112)+'%'
    IF(LEN(@LASTCODE)=0 OR @LASTCODE IS NULL)
    BEGIN
    SET @LASTCODE=CONVERT(NVARCHAR(8),GETDATE(),112)+'00001'
    END
    ELSE
    BEGIN
    SET @TEMP=CONVERT(INT,SUBSTRING(@LASTCODE,9,5))+1
    IF(LEN(@TEMP)=4)
       BEGIN
      SET @LASTCODE=CONVERT(NVARCHAR(8),SUBSTRING(@LASTCODE,1,8))+'0'+CONVERT(NVARCHAR(5),@TEMP)
       END
    ELSE IF(LEN(@TEMP)=3)
       BEGIN
      SET @LASTCODE=CONVERT(NVARCHAR(8),SUBSTRING(@LASTCODE,1,8))+'00'+CONVERT(NVARCHAR(5),@TEMP)
       END
    ELSE IF(LEN(@TEMP)=2)
       BEGIN
      SET @LASTCODE=CONVERT(NVARCHAR(8),SUBSTRING(@LASTCODE,1,8))+'000'+CONVERT(NVARCHAR(5),@TEMP)
       END
    ELSE IF(LEN(@TEMP)=1)
       BEGIN
      SET @LASTCODE=CONVERT(NVARCHAR(8),SUBSTRING(@LASTCODE,1,8))+'0000'+CONVERT(NVARCHAR(5),@TEMP)
       END
    END
     INSERT INTO tblOutStore VALUES(@LASTCODE,@DOCUMENTCODE,@BUSSINESSCODE,@DODATE,@UNIT,@OPERATOR,@TYPE,@REMARK)
     SET @RESULT='SUCCESS&'+@LASTCODE
    END
      

  6.   

     try
                {
                    using (SqlConnection Conn = new SqlConnection(DataAccess._ConnString))
                    {
                        Conn.Open();
                        SqlCommand Comm = new SqlCommand("Add_OutStore_Info", Conn);
                        Comm.CommandType = CommandType.StoredProcedure;
                        Comm.Parameters.Add("@DOCUMENTCODE", SqlDbType.NVarChar, 50).Value = textBox2.Text;
                        Comm.Parameters.Add("@BUSSINESSCODE", SqlDbType.NVarChar, 50).Value = textBox5.Text;
                        Comm.Parameters.Add("@DODATE", SqlDbType.NVarChar, 10).Value = dateTimePicker1.Text;
                        Comm.Parameters.Add("@UNIT", SqlDbType.NVarChar, 50).Value = textBox3.Text;
                        Comm.Parameters.Add("@OPERATOR", SqlDbType.NVarChar, 50).Value = comboBox2.SelectedItem.ToString();
                        Comm.Parameters.Add("@TYPE", SqlDbType.NVarChar, 50).Value = comboBox1.SelectedItem.ToString();
                        Comm.Parameters.Add("@REMARK", SqlDbType.NVarChar, 500).Value = textBox4.Text;
                        Comm.Parameters.Add("@RESULT", SqlDbType.NVarChar, 50).Direction = ParameterDirection.Output;
                        Comm.ExecuteNonQuery();
                        if (Comm.Parameters["@RESULT"].Value.ToString().Equals("FAILED"))
                        {
                            MessageBox.Show("失败");
                        }
                        else
                        {
                            string code = Comm.Parameters["@RESULT"].Value.ToString().Split('&')[1];
                            for (int i = 0; i < dataGridView1.RowCount-1; i++)
                            {
                                Comm = new SqlCommand("Add_OutStoreDetails_Info", Conn);
                                Comm.CommandType = CommandType.StoredProcedure;
                                Comm.Parameters.Add("@ORDERCODE", SqlDbType.NVarChar, 50).Value = code;
                                Comm.Parameters.Add("@PRODUCTNAME", SqlDbType.NVarChar, 50).Value = dataGridView1.Rows[i].Cells[0].Value.ToString();
                                Comm.Parameters.Add("@SIZE", SqlDbType.NVarChar, 50).Value = dataGridView1.Rows[i].Cells[1].Value.ToString();
                                Comm.Parameters.Add("@PRICE", SqlDbType.NVarChar, 10).Value = dataGridView1.Rows[i].Cells[2].Value.ToString();
                                Comm.Parameters.Add("@NUM", SqlDbType.NVarChar, 50).Value = dataGridView1.Rows[i].Cells[3].Value.ToString();
                                Comm.Parameters.Add("@TOTAL", SqlDbType.NVarChar, 50).Value = dataGridView1.Rows[i].Cells[4].Value.ToString();
                                Comm.ExecuteNonQuery();
                            }
                            MessageBox.Show("成功,单号" + code);
                        }