我是靠谱客的博主 鲤鱼小鸽子,最近开发中收集的这篇文章主要介绍在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");


最后

以上就是鲤鱼小鸽子为你收集整理的在Qt中生成单号的方法的全部内容,希望文章能够帮你解决在Qt中生成单号的方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(65)

评论列表共有 0 条评论

立即
投稿
返回
顶部