我想实现一个根据年月日自动编号,前面还要加上XQJH字样
比如:今天的第一份报表的编号XQJH20061117001
以此类推,应该怎样实现
比如:今天的第一份报表的编号XQJH20061117001
以此类推,应该怎样实现
解决方案 »
- 用chartcontrol画了折线图,但是怎么能让鼠标经过经过这些点的时候,让点的坐标值出来呢?
- CS中如何动态加载GridView单元格中的图片
- gridview在删除时无法获的主键的值
- 关于一个XML操作的问题
- 用子窗体TextBox控件的值给父窗体TextBox控件赋值,报错
- sql中的日期问题?求解
- 重分讨教:!!!在 asp.net下运行没错!!!但是------将它改成html放到IIS下去运行,没结果
- 如何获取GridView某个单元格的值
- 全世界最快的面向对象的ASP.NET+SQL SERVER 2000论坛。
- 老问题一直没有解决:关于回车自动响应的按钮.
- 一个简单问题
- 怎么从.htm页面传参到.aspx页面?
id="XQJH"+DateTime.Now.ToString("yyyyMMdd")+ro.Next(0,999).ToString("000");
1.XQJH20061117001 第一个存在表里,写个通用方法每次调用根据业务,单据等等
读出来,然后再加1,把加1后的重新写回表里 2.另外,因为你的和时间有关系,所以,多个判断,如果表里存的时间20061117和当前一样,就执行1操作,不一样的话,就根据当前日期生成个新的编号,存进表里
3.编号的生成,字符串+
string strNowDate="XQJH"+DateTime.Now.ToString("yyyyMMdd");
string strC=GetNo(strNowDate);
private string GetNo(string sDate)
{
string strR="";
...去数据库里用存储过程根据当前传入的参数去like编号retrun strR;
}如果全在今天添加的数据,编号会是:XQJH20061117001,XQJH20061117002,.....
明天就会是:XQJH20061118001,XQJH20061118002...
依次类推.
加一条数据进去,当前日期,100001
2、在数据库中建立如下这个存储过程
CREATE PROCEDURE [return_InputCode]
AS
BEGIN
DECLARE @intID INT, @strID CHAR(16), @intY INT, @intM INT, @intD INT, @myDate datetime, @xtDate datetime
SET @myDate=GETDATE()
SET @intY=YEAR(@myDate)
SET @intM=MONTH(@myDate)
SET @intD=DAY(@myDate)
SELECT @xtDate =SaveDate ,@intID=InPutCode FROM JXC_Code
IF ((@intY!=YEAR(@xtDate)) OR (@intM!=MONTH(@xtDate)) OR (@intD!=DAY(@xtDate)))
BEGIN
UPDATE JXC_Code SET SaveDate=@myDate, InPutCode='100002'
SET @intID='100001'
END
ELSE
BEGIN
UPDATE JXC_Code SET InPutCode=InPutCode+1
END
SET @intY=YEAR(@myDate)
SET @intM=MONTH(@myDate)+100
SET @intD=DAY(@myDate)+100
SET @strID=STR(@intY,4,1)+SUBSTRING(STR(@intM,3,1),2,2)+SUBSTRING(STR(@intD,3,1),2,2)+SUBSTRING(STR(@intID,6,1),2,5)
SELECT @strID as code
END
GO
3、程序
SqlConnection cn = new SqlConnection(connectionString);
cn.open();
SqlCommand cmd=new SqlCommand(cn);
cmd.CommandType=CommandType.StoredProcedure;
cmd.CommandText="return_InputCode";
SqlDataReader myReader=cmd.ExecuteReader();
if (myReader.Read())
{
InPutCode="XQJH"+Convert.ToString(myReader["code"]);
}
myReader.Close();
cn.close();