我已经声明了一个名为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();
答案 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();