存储过程中如何将日期转换成字符型(重点)

本文介绍了一个使用SQL Server存储过程自动生成唯一人才ID的方法,并展示了如何通过C#调用该存储过程来实现人才ID的自动创建。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

create proc autoadd
(
@outid varchar(100) output
)
as
begin
declare @inid int
declare @sid varchar(50)
declare @dat varchar(50)
select @inid=max(rcid) from person --得到最大的rcid值
set @inid = @inid+1 --对@inid 进和累加
set @inid = 1000000000+@inid
set @sid = right(cast(@inid as varchar(50)),9) --从字符串的右边截取9个字符
select@dat = convert(varchar(50),getdate(),112) --将日期转换成字符型 得到的结果为:20070319
--select @dat=convert(varchar(50),getdate(),110) --得到的结果为:03-30-2007
set @outid =
'rc'+@dat+@sid --最终生成人才ID号(唯一)
end

GO

如下是在程序的cs代码中来执行此存储过程:

string c=System.Configuration.ConfigurationSettings.AppSettings["P_Con"].ToString().Trim();
SqlConnection sqlconn=new SqlConnection(c);
SqlCommand cmd = new SqlCommand();
cmd.Connection= sqlconn;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText="autoadd"; --存储过程名
//=================================================================
SqlParameter paout = new SqlParameter("@outid",SqlDbType.VarChar,100);
paout.Direction = ParameterDirection.Output; --指定参数类别为 "output"
cmd.Parameters.Add(paout);

//===============================================================
sqlconn.Open();
cmd.ExecuteNonQuery();
sqlconn.Close();
values = Convert.ToString(paout.Value); //得到存储过程返回的参数
Response.Write(values);
//*********************************************************************
}
catch(Exception ex)
{
Response.Write(ex.Message.ToString());
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值