在Qt中生成单号的方法

生成单号的格式定义为:单号标示+年月日+当天单号的顺序号,如20141025日的第三张采购单(假设数据库中已经存在当天两张采购单):P201410250003

方法1:

       QString inoutNo;
       inoutNo = QString("P"+QDate::currentDate().toString("yyyyMMdd"));
       QSqlQuery query;
       int count = 1;
       query.exec("SELECT COUNT(Inoutno) FROM tc_inoutmaster WHERE convert(varchar(10),convert(datetime,CreateDate),120)>convert(varchar(10),convert(datetime,dateadd(day,-1,getdate())),120) and InoutProperty='J'");
       if (query.next()) {  // 如果今天已存在采购记录
           count = query.value(0).toInt() + 1;<span style="white-space:pre">	</span>//那么就在今天生成单号数的基础上加1
       }
       QString tmp = QString("0000%1").arg(count); // 保证后面占4位
       tmp = tmp.right(4);
       inoutNo += tmp;

方法2:

       QString inoutNo;
       inoutNo = QString("P"+QDate::currentDate().toString("yyMMdd"));
       QSqlQuery query;
       int count = 1;
       QString queryS = QString("SELECT MAX(Inoutno) as New_NO From tc_inoutmaster WHERE Inoutno LIKE '%1%' ").arg(inoutNo);
       query.exec(queryS);
       if(query.next())
       {
           qDebug()<<query.value(0).toString();
           QString temp = QString("000%1").arg(query.value(0).toString().mid(13,1).toInt()+1) ;
           temp = temp.mid(temp.length()-4,4);
           inoutNo += temp;
       }
       else
           inoutNo +=QString("0001");


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值