delphi7新人求教如何实现下面功能:如果我按提交后数据库中的数据会按框中填的数据进行更新(加上或减去)

我想要的是下面的效果:如果我按提交后数据库中的数据会按框中填的数据进行更新(加上或减去)。如设备名:音箱,数量:5,存/取:存,而本来我数据库中表的数据中音箱本来就有3台... 我想要的是下面的效果:如果我按提交后数据库中的数据会按框中填的数据进行更新(加上或减去)。如设备名:音箱,数量:5,存/取:存,而本来我数据库中表的数据中音箱本来就有3台,提交后让数据库中音箱台数变为8台。 那个提交按钮应该如何写代码? 新人诚心求教。。。 展开
 我来答
liu55721
推荐于2020-12-12 · TA获得超过922个赞
知道大有可为答主
回答量:1861
采纳率:100%
帮助的人:878万
展开全部
你的这种想法,我给起了一个名称,叫做“存货表实时更新法”。也就是说,仓库内的物品,不管是入库还是出库之后,它的实际数量总是与存货表中的数量是相符的。
采用这种实时更新法,数据库中必须具备三张表,1,入库表;2,出库表;3,存货表。
当用户在入库数据操作界面中,输入进货数据信息,将进货信息保存到入库表中的同时,另外用一个函数去检查存货表,如果存货表中已经有一条与当前进货信息相同(名称,规格,价格)的记录,那么就在原有库存数量的基础上加上当前进货数量,如果没有与之相同的记录,则新增一条存货记录,记录的各元素与进货信息完全相同。
当用户在出库数据操作界面中,输入出货数据信息,将出货信息保存到出库表中的同时,也用一个函数去检查存货表,如果存货表中已经有与当前进货信息相同(名称,规格,价格)的记录,那么就在原有库存数量的基础上减去当前出货数量。
zyqasc
2011-09-07 · 超过38用户采纳过TA的回答
知道小有建树答主
回答量:98
采纳率:0%
帮助的人:101万
展开全部
好久没写了,delphi已经用的越来越少了,还是放弃吧,如果只是学校要求的话,就稍微看看
注意:dbedit是能够绑定数据字段的,你现在只是一个条件输入,所以,不要在dbedit3和dbedit4上绑定任何字段,否则修改的时候就直接把库里面的内容都改掉了,建议换成其他的普通edit类型就行乐。
var sql:string;
if dbedit4.text = '存' then
sql:= dbedit3.text
else
sql:=' - '+ dbedit3.text ;
sql:='update table set 数量 = 数量 - ' + sql1 + ' where 设备名='+yy;
with query do
begin
close;
sql.text:=sql;
open;
end;

数据库中的数量字段必须是数字型,否则运行报错。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
z5597972
2011-09-07 · 超过17用户采纳过TA的回答
知道答主
回答量:93
采纳率:0%
帮助的人:66.3万
展开全部
update table set 数量=数量+XX where 设备名='yy'
你那个存取有什么用。。数量为负就是取,为正就是存咯。或者存取你弄个下拉菜单给人选,否则谁知道该填什么 ,如果数量只能填正数的话:
var sql1:string;
sql:string;
if dbedit4='存' then
sql1:= 数量
else
sql1:='-'+xx;
sql:='update table set 数量='+sql1+' where 设备名='+yy;
with query do
begin
close;
sql.text:=sql;
open;
end;
xx是你输入的数量,yy是你输入的设备名
大致写了下代码,但是直接复制肯定是不能编译的
还有,估计你从界面获取的数量值,得转换下类型,用strtoint()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
艾三毛
2011-09-07 · TA获得超过139个赞
知道小有建树答主
回答量:484
采纳率:100%
帮助的人:234万
展开全部
数据库是sql吧,如果是mssql的话,就在提交后面写更新语句,后台执行SQL,SQL语句用update来写,更新产品数量。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式