表单关闭时变量重复相同的值

时间:2017-06-07 16:09:33

标签: c#

我已经声明了一个名为paymentId的变量。当我打开一个窗口表单时,这个paymentId被初始化为一个值,我可以添加付款(Butter,bread..etc),保存到数据库并关闭表单。关闭表单后,我想打开表单,以便我可以添加另一笔付款(Milk等..),但paymentId没有变化,同样的paymentId也保存在数据库中。

public partial class PaymentAutoPayment : Form
{
    int firstRun = 0;
    double total = 0;
    public static Random rnd = new Random();
    String cashierId = "";
    public static int randomString = rnd.Next(9999, 99999)
    string paymentId = "RecId-" + randomString.ToString();

2 个答案:

答案 0 :(得分:5)

public static int randomString是静态的。它只被初始化一次。

public static int randomString = rnd.Next(9999, 99999);

无论现在多次将相同的int值转换为字符串,它仍然是相同的int。

string paymentId = "RecId-" + randomString.ToString();

试试这个:

string paymentId = "RecId-" + rnd.Next(9999, 99999).ToString();

答案 1 :(得分:2)

 public static int randomString = rnd.Next(9999, 99999)

这被声明为static,并且只在整个程序运行时执行一次,并且永远不会更改。改为使用:

string paymentId = "RecId-" + rnd.Next(9999, 99999).ToString();