数数并再次从1开始

时间:2019-02-08 13:17:59

标签: c# if-statement while-loop insert id

我想了很长时间才能找到解决方案,但我找不到解决问题的方法:

说明: 我有变量x。 x是我的oracle数据库中的1到99之间的ID号。

我填写完表格后,在数据库中最多插入8行(因为我有动态文本框,所以我从1行插入到8个拖曳)。现在,我想将x计数到99,直到达到99,它应该重新从1开始。

问题是我实际上插入了以下行:

Row1: Insert (text, 97) (97 is the ID)
Row2: Insert (text, 98) (98 is the ID)
Row3: Insert (text, 99) (99 is the ID)
Row4: Insert (text, 100) (100 is the ID) now here is the problem, it should begin at 1 again and insert 1.
Row5: Insert (text, 101) (101 is the ID) should be 2.
...

我希望有人容易知道解决方案。

非常感谢您

1 个答案:

答案 0 :(得分:2)

要进行除法运算的余数,可以使用模运算符%。但这在以0开头的序列上效果最好。因此,如果您将“ x”从1-99映射到0-98(减去1),则可以取模数,然后将除以99的余数。然后可以映射再次加1将其恢复为1-99。 因此该语句变为

int id = (x - 1) % 99 + 1; 

编辑:不太确定您在问题中的意思。但是,如果您将x的值设为102,则id变为3。它首先减去1,即为101。然后除以99,得到余数。即为2。然后再加1,所以它变为3。因此对应于x值102的id为3。