当前位置:编程学习 > C#/ASP.NET >>

求教订单号+1代码怎么写呀

就是想在文本框里生成一个日期+00001这样的订单号 比如2013070600001 
然后在第二次打开form的时候会自动加1 就是2013070600002这样
我用了 
TxtOrderNo.Text = System.DateTime.Now.ToString("yyyyMMdd") + Replace(Space(5 - Len(i & "")), " ", "0") & i 
可是不会用i=i+1的累加  求教怎么写代码呀
还有还有,怎么样让combobox里面下拉下来是数据库里面的内容啊
求大神教一下 希望尽量详细点~~ --------------------编程问答-------------------- 1)
select max(right(订单号,5)) as maxno from tablename   where left(订单号,5)  like '" & add1 & "%'
2)
 If IsDBNull(TmpDt1.Rows(0).Item("maxno")) Then
            lcno = add1+Microsoft.VisualBasic.Right("00000000000001", 5)
        Else
            lcno = add1  + Microsoft.VisualBasic.Format(Val(Microsoft.VisualBasic.Right(TmpDt1.Rows(0).Item("maxno"),5)) + 1, Microsoft.VisualBasic.Right("0000000000000", 5))
        End If --------------------编程问答-------------------- 先查询当天一共有几条数据,然后直接+1不就行了?
select count(*) as a from tabelname where 日期=getdate()
出来的如:1
那你拼凑单号的时候不就可以直接+1后拼凑了么? --------------------编程问答--------------------
引用 2 楼 htpower 的回复:
先查询当天一共有几条数据,然后直接+1不就行了?
select count(*) as a from tabelname where 日期=getdate()
出来的如:1
那你拼凑单号的时候不就可以直接+1后拼凑了么?


绝对的支持,我们都这样取 --------------------编程问答-------------------- 可定义一个 static 变量 
比如:
static n as integer

Form_Load(){
   n = n + 1
} --------------------编程问答--------------------

string orderCode = string.Format("{0}{1}", DateTime.Now.ToString("yyyyMMdd"), (autoIncreaseVariable++).ToString().PadLeft(5, '0'));


其中autoIncreaseVariable可以是Int32或Int64。还是推荐Int64 --------------------编程问答--------------------

 /// <summary>
        /// 获取表数据的主键,格式为前缀+时间+流水号 如CK20120102001
        /// </summary>
        /// <param name="Ext">前缀,可以为空</param>
        /// <param name="TableName">表名</param>
        /// <param name="ColName">列名</param>
        /// <param name="Format">时间格式化字符串(yyyyMMdd)</param>
        /// <param name="len">流水号长度</param>
        /// <returns>主键</returns>
        public static string GetTablePK(string Ext, string TableName, string ColName, string Format, int len)
        {
            string time = Ext + DateTime.Now.ToString(Format);
            string sql = "select max(right(" + ColName + "," + len.ToString() + ")+1) from " + TableName + " where " + ColName + " like '" + time + "%'";
            object o = dosoft.DAL.DbHelperSQL.GetSingle(sql);
            if (o == null || o.ToString() == "")
            {
                return time + "1".PadLeft(len, '0');
            }
            else
            {
                return time + o.ToString().PadLeft(len, '0');
            }
        }


不解释 自己看 好了给分 谢谢
补充:.NET技术 ,  VB.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,