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,最后在付给一个文本框啊
得到后加1再赋值
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
*/
@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
{
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);
}