WPF的自动生成单号

本文介绍了两种在WPF中实现自动生成单号的方法。一种是通过数据库编程性创建查询方法,结合服务端和客户端代码实现;另一种是直接在页面加载事件中编写代码完成。详细步骤和示例代码已给出。

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

作者:孙英鹏   撰写时间:2019年8月7日

关于自动生成单号我们并不陌生,就是用数字和字母组成的单号,然后再用代码拼接起来,有好多种,有利用当前时间的,也有用数字的,只要你肯想就可以做。关于MVC里面的自动生成单号怎么做,想必大家都会,不会的大家可以上网借鉴一下,可是关于WPF的自动生成单号怎么做,网上可没有过多的详情解释,接下来就由我来给大家一一讲解一下,WPF的自动生成单号怎么实现。

第一种方法:
把数据库打开,点击你的数据库下发的可编程性,我们要在里面写一个查询方法,把你想要生成单号的字段查询出来后再加一,然后在倒叙,这样查询出来的数据就会递增。

代码:

--自动生成编号
   IF(@type='B_PurchaseLotNumber_NUMBER')
   BEGIN
     SELECT TOP 1 RTRIM(  B_PurchaseLotNumber) as Number
	 FROM   PW_BuyingBatches
	 ORDER BY BuyingBatchesID DESC
   END

数据库写完了就回到服务端里面,把数据库写的查询方法传递到服务端。

代码:

//定义操作契约(自动生成单号)
        [OperationContract]
        public DataSet B_PurchaseLotNumber_NUMBER()
        {
            //实例化对象数组
            SqlParameter[] mySqlParameter =
            {
                //定义传递参数,以及传递参数的类型
                new SqlParameter("@type",SqlDbType.NChar),
            };
            mySqlParameter[0].Value = "B_PurchaseLotNumber_NUMBER";
            DataTable myDataTable
 = myDALMethod.QueryDataTable("UC_BuyAccept", mySqlParameter);
            DataSet myDataSet = new DataSet();
            myDataSet.Tables.Add(myDataTable);
            return myDataSet;
        }

接下来就要在客户端里面写了,先写一个自动生成单号的方法,这个方法是在网上找到的,并非本人写的。

代码:

public class RandomNumber
        {
            public static object _lock = new object();
            public static int count = 1;
            public string GetRandom1(string asd)
            {
                int numder = Convert.ToInt32(asd.Substring(10));
                count = numder + 1;
                lock (_lock)
                {
                    if (count >= 10000)
                    {
                        count = numder;
                    }
                    var number = "MR" + DateTime.Now.ToString("yyyyMMdd") + count.ToString("0000");
                    count++;
                    return number;
                }
            }
        }

写完之后,就在页面加载事件里面调用方法,就行了。

代码:

  DataTable dtNum = myClient.B_PurchaseLotNumber_NUMBER().Tables[0];
  string dtnusdf = dtNum.Rows[0]["Number"].ToString();
  txt_Number.Text = (new RandomNumber().GetRandom1(dtnusdf));

第二种方法:
直接在页面加载事件上写。

代码:

  MainBanks.Text = DateTime.Now.ToString("Z" + "yyyyMMddHHmmss");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值