在Qt中生成单号的方法
2014-10-27 10:38
309 查看
生成单号的格式定义为:单号标示+年月日+当天单号的顺序号,如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");
方法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中生成字符串md5的方法
- vs2010中moc文件生成方法,qt找不到moc_**.cpp
- vs2008, qt生成库文件 以及qt应用程序调用库文件方法
- 在windows下用Qt creator + mingw编译protobuf源码生成静态链接库的方法
- 用Qt生成dll类库及调用方法
- 将Qt 动态链接生成的exe及依赖dll打包方法
- 将Qt 动态链接生成的exe及依赖dll打包方法
- Qt5 在win7上发布 & 打包依赖dll生成exe方法
- vs2010中自动生成Qt的moc文件的方法
- QT设置标题栏左侧的ico图标和生成后的EXE文件图标的更换方法
- 将Qt 动态链接生成的exe及依赖dll打包方法
- VS2012不安装Qt VS Addin生成project的方法
- Qt由ui文件生成.h和.cpp文件的方法
- Qt--将Qt 动态链接生成的exe及依赖dll打包方法
- Windows环境下设置Qt编译环境 - 关于Qt的静态链接库的配置和生成方法
- 将Qt 动态链接生成的exe及依赖dll打包方法
- QT中生成字符串md5的方法
- 手动生成Qt的moc文件的方法
- Qt5 在win7上发布 & 打包依赖dll生成exe方法