自动生成编号根据日期+当前存在的条数

问题描述

SellListsell=newSellList();SqlConnectioncon=newSqlConnection("server=.;uid=sa;pwd=sa;database=PriceDB");con.Open();stringsql="selectmax(SellNum)fromSellwhereDate='"+DateTime.Now+"'";SqlCommandcmd=newSqlCommand(sql,con);try{SqlDataReaderdr=cmd.ExecuteReader();if(dr!=null){if(dr.Read()){intnum=Convert.ToInt32(cmd.ExecuteScalar().ToString());sell.SellNum=Convert.ToString(num+1);}}else{stringdate=DateTime.Now.ToString("yyyyMMdd");sell.SellNum="date"+"001";}dr.Close();}catch(Exceptionex){Response.Write(ex.Message);}finally{con.Close();}boolbol=PriceBLL.SellManager.Add(sell);if(bol){GridViewShow.DataSource=PriceBLL.SellManager.GetSellList(sell.SellNum);GridViewShow.DataBind();}else{Response.Write("<script>alert('添加失败!')</script>");}问题1:stringsql="selectmax(SellNum)fromSellwhereDate='"+DateTime.Now+"'";加上Date='"+DateTime.Now+"'就查询不出来数据库有当前日期的问题2:已有打开的与此命令相关联的DataReader,必须首先将它关闭问题3:sell.SellNum=Convert.ToString(num+1);sell.SellNum="date"+"001";这样写可行吗?

解决方案

解决方案二:
stringsql="selectmax(SellNum)fromSellwhereDate='"+DateTime.Now+"'";加上Date='"+DateTime.Now+"'就查询不出来数据库有当前日期的你这个now精确到秒了。
解决方案三:
引用1楼haa17的回复:

stringsql="selectmax(SellNum)fromSellwhereDate='"+DateTime.Now+"'";加上Date='"+DateTime.Now+"'就查询不出来数据库有当前日期的你这个now精确到秒了。

看看你这个时间是否和数据库里面精确的数位一样,我记得好像用cast函数转换一下就好了
解决方案四:
为什么不从数据库获取当前时间,而从客户端或应用服务器获取呢。引用1楼haa17的回复:

stringsql="selectmax(SellNum)fromSellwhereDate='"+DateTime.Now+"'";加上Date='"+DateTime.Now+"'就查询不出来数据库有当前日期的你这个now精确到秒了。

解决方案五:
数据库里的时间格式:2012-3-270:00:00

时间: 2024-11-05 18:58:39

自动生成编号根据日期+当前存在的条数的相关文章

急需-如何自动生成字母加日期再加数字的序列号

问题描述 如何自动生成字母加日期再加数字的序列号 我是菜鸟,现在在做公司的工单管理系统,每下一个工单就要向工单表中插入工单编号,编号形式为TN+当前年月日+6为从1开始自动增长的数字,其中TN是固定的 例如,插入的第一个数是:TN20130811000001 请大家帮帮忙,求源码 急需,谢谢!!! 解决方案 字符串连接可以实现这个需求 解决方案二: 字符串就是了~~~~系统时间你可以取到,自增长的你也可以自己设定的(最好是用一个SQL的方法) 这样你字符串自己组合下就好了... 解决方案三: p

SQLServer中一个多用户自动生成编号的过程

server|sqlserver|过程 SQLServer中一个多用户自动生成编号的过程 if not exists (select * from dbo.sysobjects where id = object_id(N'[IndexTable]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)create table IndexTable(Ex char(20), num integer) go create procedure SetIndex @

看实例学VFP:向数据表中添加记录时自动生成编号

本例在"看实例学VFP:向数据表中添加记录并验证输入数据是否合法"的基础上进行了改进,实现了在添加记录时不仅能够完成对输入数据的校验,还具有自动生成编号的功能.自动生成编号的相关代码加在表单的init事件及"添加"按钮的click中,在表单第一次启动或添加完记录后都会调用此段代码,实现自动生成编号的功能.运行界面如下: 本例用到了"数据1"数据库中的"网站信息表",关于该数据库的情况已经在看实例学VFP:示例数据库一文中给出,

自动编码-无对象表定义的窗口如何自动生成编号

问题描述 无对象表定义的窗口如何自动生成编号 我做了一个是对应无对象表的窗口,但是编号要自己手动打,如何能实现自动生成编号呢,换一行就自动生成一个

编号 代码-自动生成编号的问题求C#代码

问题描述 自动生成编号的问题求C#代码 比如四川的编号是001,我点他的下一级,添加成都,但是成都的编号要自动生成001001,请问C#代码怎么实现?求大神指点! 解决方案 在四川对应的类加个property "NextCityNo"记录最大号码,每次新增city后加1 解决方案二: 添加时查找父级节点下有多少个子节点, string no = "节点数+1".PadLeft(3, '0');

php根据数据id自动生成编号的实现方法_php实例

如下所示: <strong><span style="font-size:18px;">/*编号=年份后两位+月份+id四位数*/ $id = $this->student_model->save(0, $data); $sn = date('Y', time()); $sn = substr($sn, -2); $sn.= date('m', time()); $sn.=sprintf("%04d", $id);</spa

自动生成编号的方法

前言:用过许多序号的方法,indentity 或 new id() ,都不好用,自己写了一个,这个序号的特点是:每次取相应表中的系统当天最大序号,如果当天无记录,则自动生成一个当天序号 1.建种子表,这个表用来保存各个表目前已使用到的最大序号--种子表create table SEED (BM varchar(20) not null, --表名BH varchar(12) not null, --种子编号constraint PK_SEED primary key(BM))go 2.当我们建一

关于我的自动生成编号的方法(来这么久,第一次写个人的编程技巧,不知能不能上精华)

编程|技巧|精华 前言:    用过许多序号的方法,indentity 或 new id() ,都不好用,自己写了一个,这个序号的特点是:每次取相应表中的系统当天最大序号,如果当天无记录,则自动生成一个当天序号 1.建种子表,这个表用来保存各个表目前已使用到的最大序号--种子表create table SEED (BM  varchar(20) not null,   --表名BH   varchar(12) not null,   --种子编号constraint PK_SEED primar

ASP自动生成编号的方法

用过许多序号的方法,indentity 或 new id() ,都不好用,自己写了一个,这个序号的特点是:每次取相应表中的系统当天最大序号,如果当天无记录,则自动生成一个当天序号. 1.建种子表,这个表用来保存各个表目前已使用到的最大序号 --种子表 create table SEED ( BM varchar(20) not null, --表名 BH varchar(12) not null, --种子编号 constraint PK_SEED primary key(BM) ) go 2.