表的结构是这样的:
ID NAME PRICE
我现在不知道表中有多少条记录,也不知道每一条记录的值到底是多少
要求是这样的:
输入一条数据,这条数据小于该表中PRICE的总和,但是大于一些记录的PRICE,也小于一些记录的PRICE,要求从该表中ID最低的记录开始匹配,如果该条记录的PRICE小于输入的数据,则把这条记录的PRICE值更新为0,并把该值加到下一条记录的PRICE,直到某条记录的PRICE值大于等于输入的数据,并将该记录的PRICE值更新成与输入数据的差,在这里退出循环.
例子:
表中记录:
1 , a , 1
2 , b , 3
3 , c , 7
4 , d , 20
5 , e , 15
6 , f , 8
7 , g , 30我现在输入13
最后达到的效果应该是
1 , a , 0 1<13 更新值为0
2 , b , 0 1+3=4<13 更新值为0
3 , c , 0 4+7=11<13 更新值为0
4 , d , 18 11+20=31>13 更新值为31-13=18
5 , e , 15
6 , f , 8
7 , g , 30在线跪求各位大人给出解决办法别给我超连接去看文章,我没时间等我把文章看完再来解决问题~
ID NAME PRICE
我现在不知道表中有多少条记录,也不知道每一条记录的值到底是多少
要求是这样的:
输入一条数据,这条数据小于该表中PRICE的总和,但是大于一些记录的PRICE,也小于一些记录的PRICE,要求从该表中ID最低的记录开始匹配,如果该条记录的PRICE小于输入的数据,则把这条记录的PRICE值更新为0,并把该值加到下一条记录的PRICE,直到某条记录的PRICE值大于等于输入的数据,并将该记录的PRICE值更新成与输入数据的差,在这里退出循环.
例子:
表中记录:
1 , a , 1
2 , b , 3
3 , c , 7
4 , d , 20
5 , e , 15
6 , f , 8
7 , g , 30我现在输入13
最后达到的效果应该是
1 , a , 0 1<13 更新值为0
2 , b , 0 1+3=4<13 更新值为0
3 , c , 0 4+7=11<13 更新值为0
4 , d , 18 11+20=31>13 更新值为31-13=18
5 , e , 15
6 , f , 8
7 , g , 30在线跪求各位大人给出解决办法别给我超连接去看文章,我没时间等我把文章看完再来解决问题~
解决方案 »
- 用SqlDataAdapter读取数据库的一点问题
- C#如何把第二个窗体的数据,传递回主窗体?
- 请教关于Render方法
- 有没人做过C# winfrom 程序登录的时候初始化系统时间
- c#能不能加载pps 文件?
- socket数据流加标头的问题
- 简体操作系统上开发的繁体程序在繁体操作系统上变形了
- 关于C#与javascript的两个问题,请秋枫,凡瑞,小山等热心高手帮帮
- 百分求教,水晶报表问题,请问可不可以用程序将两个水晶报表导入一个excel文件的两个不同的Sheet
- UI Automation自动化测试
- 奇怪的调试错误信息..........
- 动态获得 数据表 列名,并显示DataGrid
while(sum+Cursor.Value <= input)
{
update;
sum+Cursor.Value
}
定义一个变量sum。
对第一条作处理,以后可以用循环,
while(sum+Cursor.Value <= input)
{
update;
sum += Cursor.Value
Cursor.moveNext();
}