实际上我创建了一个数据库应用程序,如果第一天登录,那么他的sales_count
将是1,同一个人再次登录,然后其sales_count
将是2,同一用户登录第二天那么它的sales_count
又一次。
为此,我创建了两个表Login
和Sales_Details
。登录时我有:
User_name,密码和唯一编号。
现在,在sales_details
我想从登录详细信息中仅提取User_name
,Unique_no
,但同时我想在sales_count
表中增加sales_details
今天也更新日期。
Sales_details有
Sales_id,User_name,Unique_No,Sales_count,To_Date字段
实际上我试过但如果To_date为null则没有任何反应,那么今天在sales_details中将date + sales_count插入为1
下面我粘贴了我的整个代码:
string todaydate = DateTime.Now.ToString("dd/MM/yyyy");
string access = "select To_Date from Sales_Details";
cmd = new OleDbCommand(access, con);
con.Open();
using (OleDbDataReader read = cmd.ExecuteReader()){
while (read.Read()){
string date2 = read["To_Date"].ToString();
if (todaydate == date2){
cmd = new OleDbCommand("update Sales_Details set Sales_count= IIF(IsNull(Sales_count), 0, Sales_count) + 1, [To_Date]=Date() where [Unique_No]=@Unique_No", con);
cmd.Parameters.AddWithValue("@Unique_No", txtinput.Text);
con.Open();
int n = cmd.ExecuteNonQuery();
if (n == 0) {
MessageBox.Show("Invalid Unique No.");
} else {
this.DialogResult = DialogResult.OK;
}
con.Close();
} else {
int counter=1;
cmd = new OleDbCommand("insert into Sales_Details select User_name,Unique_No from Login where Unique_No=@Unique_No Union select ISNULL(Sales_Count+1,0) as [@Sales_Count],DATE() AS [To_date]", con);
cmd.Parameters.AddWithValue("@Unique_No", txtinput.Text);
cmd.Parameters.AddWithValue("@Sales_count",counter);
int n1 = cmd.ExecuteNonQuery();
if (n1 == 0){
MessageBox.Show("Invalid Unique No.");
} else {
this.DialogResult = DialogResult.OK;
}
}
}
}
con.Close();