数据库记录里有 3条记录记录1 20
记录2 20
记录3 20输入一个数值 得到的效果如下数值 50
记录1 0
记录2 0
记录3 10
给点思路 搞不定了 -.-!!
记录2 20
记录3 20输入一个数值 得到的效果如下数值 50
记录1 0
记录2 0
记录3 10
给点思路 搞不定了 -.-!!
解决方案 »
- 有没有人用过delphi prism 2010呀?
- 这个是不是要编译高人来回答?longint比较大小快慢让人费解,
- ScrollBox中动态创建的image控件的座标为什么不是结对座标位置?
- 如何使窗口自动获得焦点!!!
- 如何把用户输入的密码加密存到数据库中
- 高分求教,bitmap保存成16进制文本文件
- sql小问题!
- ActiveFrom学要数字签名,方可在客户浏览器上使用,但数字签名怎么搞,望各位高手给点提示。解决问题800分程上。
- 怎样检测到是否已安装了SQL Server的数据库服务器端?若有,如何再检测是否已建立了指定名称的数据库?
- 我有几个小问题
- 实现不注册dll调用com
- 关于Delphi连接ACCESS数据库查询问题
*数据库记录
-------------
记录1 20
记录2 20
记录3 20
-------------
那么我开是循环并Edit数据库记录 减去记录的数值 一直减到n为0比如 记录1的数据室20 那么n:=n-20 记录1=0;
n<>0的话下一条 这个循环不会做了
/*
create table t1 (a varchar(10),b int,c int)
insert into t1 values ('记录1',20,0)
insert into t1 values ('记录2',20,0)
insert into t1 values ('记录3',20,0)drop table t1
*//*
CREATE FUNCTION fs (@id int)
RETURNS int AS
BEGIN
DECLARE @s int
select @s= isnull(sum(b),0) from t2 where id < @id
select @s = @s+ b from t2 where id = @id
RETURN @s
END
*//*CREATE procedure dbo.updatetable
@v int
as
select IDENTITY(INT,1,1) as id,* into t2 from t1
update t2 set c = dbo.fs(id)
update t2 set c =0 where c <= @v
update t2 set c = c - @v where b = (select min(b) from t2 where b>0)
update t2 set c =0 where c <= 0
update t2 set b = c where c <= b
select * from t2
drop table t2--drop procedure updatetable
*/exec updatetable 30--result
1 记录1 0 0
2 记录2 10 10
3 记录3 20 30
delphi 数据库是 Access