流水号的获取

    软件中,常常使用流水号,通常流水号是一组参数的组合,如:评估报告的编号结构:

    区编号-机构类型-年份-性别-流水

    如:03-01-2023-W-0001

           03-01-2023-M-0002

           03-01-2023-M-0003

         。。。。。。

    编程时,对于流水号的产生通常二种方式:

    一种是由字段"流水”,读取最大号+1,这种方式,容易造成跳号。

    另一种,是由字段"流水”,由1至Count循环,选取空位,无空位Count+1。这种方式,需要对流水号出现的重复,或无效流水,进行删除处理(人工处理,或软件代码判别)。

     本人比较喜欢第一种方式,无需维护,不就是一种编号吗!

procedure TDJPG_23_Frame.sButton11Click(Sender: TObject);
var SQL,sDate,sDate1,sDate2,ID,S,S1,s2,S3,S4,s5,S6,S7,S8,S9,sErr:string;L:integer;
beginif Trim(sDBEdit1_1.Text)<>'' then Exit;DateTimetoString(sDate1,'yyyy-01-01',sDateEdit1.Date);DateTimetoString(sDate2,'yyyy-12-31',sDateEdit1.Date);
// 获取SQL:='Select 流水 From 等级评估_流水 where 分支='+#39+sFCID+#39+' and '+'日期>='+#39+sDate1+#39+' and 日期<='+#39+sDate2+#39+' order by 流水 DESC';DataModule1.ClientDataSet1.Active:=False;DataModule1.ClientDataSet1.DataRequest(SQL);DataModule1.ClientDataSet1.Active:=True;if DataModule1.ClientDataSet1.RecordCount>0then L:=DataModule1.ClientDataSet1.FieldByName('流水').AsInteger+1else L:=1;DataModule1.ClientDataSet1.Active:=False;
//  ShowMessage(S);
// 插入DateTimetoString(ID,'yyyymmddhhnnsszzz',now);sDate:=sDBEdit1_9.Text;     // 日期S1:=sDBEdit1_7.Text;        // 姓名S2:=sDBEdit3.Text;          // 床号S3:=sDBEdit7.Text;          // 机构类型编号S4:=sDBEdit1_10.Text;       // 区编号S5:=sDBEdit8.Text;          // 性别if s5='男' then S5:='M'else S5:='W';S6:=IntToStr(L);            // 流水号S7:=IntToStr(L);            // 流水号S8:=Copy(sDBEdit1_9.text,1,4);    // 年份while Length(S7)<4 do                            // 区-机构类型-年份-性别-流水S7:='0'+S7;S9:=S4+'-'+S3+'-'+S8+'-'+S5+'-'+S7;if (S4='') or (S3='') or (S8='') or (S5='') or (S7='') thenbeginClientDataSet2.Edit;ClientDataSet2.FieldByName('流水').AsInteger:=L;ClientDataSet2.FieldByName('编号').AsString:=S9;ClientDataSet2.Post;ShowMessage('流水号参数:“日期”“机构类型”“区编号”空缺!');Exit;end;SQL:='INSERT INTO 等级评估_流水(流水,编号,日期,床号,姓名,分支,ID) VALUES('+#39+S6+#39+','+#39+S9+#39+','+#39+sDate+#39+','+#39+S2+#39+','+#39+S1+#39+','+#39+sFCID+#39+','+#39+ID+#39+')';if DataModule1.SocketConnection1.AppServer.MyQuery(sql,sErr)then beginClientDataSet2.Edit;ClientDataSet2.FieldByName('流水').AsInteger:=L;ClientDataSet2.FieldByName('编号').AsString:=S9;ClientDataSet2.Post;endelse ShowMessage(sErr);UpDataClientOne(ClientDataSet2,'等级评估23_记录');
end;

      第二种方式,软件代码比较复杂,略了,需要读取数据,再进行处理。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/264431.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

有病但合理的 ChatGPT 提示语

ChatGPT 面世一年多了&#xff0c;如何让大模型输出高质量内容&#xff0c;让提示词工程成了一门重要的学科。以下是一些有病但合理的提示词技巧&#xff0c;大部分经过论文证明&#xff0c;有效提高 ChatGPT 输出质量&#xff1a; ​1️⃣ Take a deep breath. 深呼吸 ✨ 作用…

Threejs发光闪烁提示特效

一、导语 发光闪烁特效应该在我们的项目中是经常需要去封装的一个特效吧&#xff0c;一般用于点击选择&#xff0c;选中物体&#xff0c;或者一些特效加持于中心物体&#xff0c;物体碰撞检测后的发光特效等等 二、分析 我们可以合理的使用后处理特效&#xff0c;上步骤&am…

【git】关于git二三事

文章目录 前言一、创建版本库1.通过命令 git init 把这个目录变成git可以管理的仓库2.将修改的内容添加到版本库2.1 git add .2.2 git commit -m "Xxxx"2.3 git status 2.4 git diff readme.txt3.版本回退3.1 git log3.2 git reset --hard HEAD^ 二、理解工作区与暂存…

【unity实战】一个通用的FPS枪支不同武器射击控制脚本

文章目录 前言模型素材文章用到的粒子火光特效射击效果换弹瞄准开枪抖动效果设置显示文本最终代码不同武器射击效果1. 手枪2. 机枪3. 狙击枪4. 霰弹枪5. 加特林 其他感谢完结 前言 实现FPS枪支不同武器效果&#xff0c;比如手枪&#xff0c;喷子&#xff0c;狙击枪&#xff0c…

ffmpeg6.0之ffprobe.c源码分析二-核心功能源码分析

本篇我们继续分析: 1、ffprobe -show_packets 参数的处理流程;2、ffprobe -show_frames 参数的处理流程;3、ffprobe -show_streams 参数的处理流程;4、ffprobe -show_format 参数的处理流程; 因为前面的文章已经回顾了这些命令的使用,以及作用。本文就不在赘述,以免篇幅…

TeeChart.NET 2023.11.17 Crack

.NET 的 TeeChart 图表控件提供了一个出色的通用组件套件&#xff0c;可满足无数的图表需求&#xff0c;也针对重要的垂直领域&#xff0c;例如金融、科学和统计领域。 数据可视化 数十种完全可定制的交互式图表类型、地图和仪表指示器&#xff0c;以及完整的功能集&#xff0c…

【rabbitMQ】rabbitMQ用户,虚拟机地址(添加,修改,删除操作)

rabbitMQ的下载&#xff0c;安装和配置 https://blog.csdn.net/m0_67930426/article/details/134892759?spm1001.2014.3001.5502 rabbitMQ控制台模拟收发消息 https://blog.csdn.net/m0_67930426/article/details/134904365?spm1001.2014.3001.5502 目录 用户 添加用户…

mysql字段设计规范:使用unsigned(无符号的)存储非负值

如果一个字段存储的是数值&#xff0c;并且是非负数&#xff0c;要设置为unsigned&#xff08;无符号的&#xff09;。 例如&#xff1a; 备注&#xff1a;对于类型是 FLOAT、 DOUBLE和 DECIMAL的&#xff0c;UNSIGNED属性已经废弃了&#xff0c;可能在mysql的未来某个版本去…

harmonyos预览功能报错:[webpack-cli] SyntaxError: Unexpected end of JSON input

harmonyos预览功能报错 在使用DevEco Studio写页面&#xff0c;进行预览的时候报错&#xff1a; [Compile Result] [webpack-cli] SyntaxError: Unexpected end of JSON input [Compile Result] at JSON.parse (<anonymous>) [Compile Result] at updateCached…

抓取真实浏览器设备指纹fingerprint写入cookie方案

一个关于抓取真实浏览器设备指纹写入cookie方案&#xff0c;用户访问页面获取到用户设备生成指纹id&#xff0c;通过js把指纹存入cookie&#xff0c;然后用php进行获取cookie存的指纹值到后台。 用途&#xff1a;追踪用户设备&#xff0c;防恶意注册&#xff0c;防恶意采集 浏…

DIP——添加运动模糊与滤波

1.运动模糊 为了模拟图像退化的过程&#xff0c;在这里创建了一个用于模拟运动模糊的点扩散函数&#xff0c;具体模糊的方向取决于输入的motion_angle。如果运动方向接近水平&#xff0c;则模糊效果近似水平&#xff0c;如果运动方向接近垂直&#xff0c;则模糊效果近似垂直。具…

NGINX高性能服务器与关键概念解析

目录 1 NGINX简介2 NGINX的特性3 正向代理4 反向代理5 负载均衡6 动静分离7 高可用8 结语 1 NGINX简介 NGINX&#xff08;“engine x”&#xff09;在网络服务器和代理服务器领域备受推崇。作为一款高性能的 HTTP 和反向代理服务器&#xff0c;它以轻量级、高并发处理能力以及…