用sql的update语句写流水账 (access数据库)

用sql的update语句写流水账 (access数据库),第1张

每次都是新增记录,应该用:INSERT,怎么是UPDATE

如果是SQLSERVER可以写个存储过程

但你用的是ACCESS数据库,不能使用存储过程,光一句SQL语句是做不到的

你首先要在数据库中得到最后一次的金额是多少,如果没有,则为0

不知道你用什么语言写,大约逻辑如下

Select TOP 1 金额 FROM 流水账(表名) ORDER BY ID DESC

IF (记录存在)

{

INSERT 流水账(表名)(金额,出库,入库)VALUES(上面数据库读出来的金额+入库变量-出库变量,出库变量,入库变量)

}

ELSE

{

INSERT 流水账(表名)(金额,出库,入库)VALUES(入库变量-出库变量,出库变量,入库变量)

}

1、自己建立云服务器,服务器上安装数据库中间件和大型数据库;

2、服务器上安装Web服务,建议使用Apache,不要使用IIS,后者稳定性和效率以及安全性都太差了,个人和网站玩玩还行,大规模应用是看不住的;

3、中间件用作向服务器读写和查询,另一端连接web服务进行数据通讯;

4、任何PC、手机等写个小程序,将当前时间、扫描面单的地点等设定进去,然后扫描面单号、将数据传递到服务器中间件,中间件将流水写入数据库,中间件要有重复条码处理功能和错误条码处理功能等,其他的校验在客户端程序完成;

5、根据数据库流水,客户就可以通过网站,查询数据库中针对某个面单,所有的不同地点的扫描时间信息了,也就是说知道物流快递运送进度了,精确到秒,因为扫描的时间精确到秒,复杂些的系统扫描时的那台计算机,还可以连接电子秤,将重量也采集进去,这样那一站发生货物重量缺少,就说明那个环节箱子破了,有东西漏出来丢失了;目前大部分快递公司还做不到这点;

以上系统其实对我们来说,是最低级的系统,仅仅是条码流水采集统计查询而已,唯一不同的是将局域网的东西放到了互联网上,要额外考虑安全、并发连接数、负载均衡、数据库性能、网络稳定性和通讯中断处理机制,很多都要放在中间件中完成。以上所有可以使用免费开源的来实现,也可以使用商业系统实现。

开源免费的可以用:Linxu服务器Mysql数据库Perl语言的CGI开发中间件Apache的Web服务php的查询网页php客户端数据上传网页;

付费的可以使用IBM的服务器套件:Webshare套件DB2数据库,微软的MS-SQLServer就算了,稍大点的快递公司、物流公司,一周的数据就能超过10W个包裹,数据超过10万个,他数据库的性能会比Mysql免费开源数据库还差劲,所以很多人宁可使用性能比他好价格比他低的Oracle数据库也不用他,就是因为查询和读写速度达不到,并且微软的MS-SQLServer很多时候就算你把服务器加到16个CPU,32G内存,20个硬盘,2个千兆网卡,依然性能上不去,此时已经和硬件无关了,是数据库自己能力不足,所以很多大型供应链管理系统不用微软的数据库,是有原因的。

如果主键的流水号是自己增长的,那么你可以用select @id=@@identify的办法获取你刚插入的这个号码。你插入之后接着取,应该没问题,不会取到别人插入的id

如果你的流水号不是自增长的,也应该用select max(id)的办法。但是这里有个技巧,你不能提前取好这个号码,然后等着 *** 作,这样时间间隔太长,自然可能有号码的冲突,你应该在提交数据的时候,也就是insert之前,马上取,取了之后马上insert,这样号码重复的几率很低,即便有,最多程序报错,重新提交一次就行了。

流水号在收银前台和后台都有记录,正常情况下是不能修改的,只能在数据库内删除某个时间段的记录(管理员才有权限)。

这个收银机的流水单号您需要恢复为出厂设置之后才能重新设置的。

重新设置的话是需要您自己凡购买的地方进行数据库修改的。

以上就是关于用sql的update语句写流水账 (access数据库)全部的内容,包括:用sql的update语句写流水账 (access数据库)、物流公司网站的货物跟踪系统怎么做的,如何编程_物流运输跟踪、C# 插入数据主键是流水账号,自动生成,怎样在插入后 获取主键ID等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9703296.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存