protected void btn_next_Click(object sender, EventArgs e)
{
int t = 0;
int c = 0;
if(t<=2){
string seatname;
string seatnumber;
seatname = DropDownList1_SeatName.SelectedItem.ToString();
seatnumber = DropDownList2_SeatNumber.SelectedItem.ToString();
//چک کردن انتخاب نکردن دو صندلی تکراری توسط یک نفر
string strquery = "select count(*) from SingleSeatTable where SeatNumber=@SeatNumber";
SqlConnection connection2 = DBConnection.getConnection();
connection2.Open();
SqlCommand cmd2 = new SqlCommand();
cmd2.Connection = connection2;
cmd2.CommandText = strquery;
cmd2.Parameters.Add("@SeatNumber", seatnumber);
int intRowCount1 = (int)cmd2.ExecuteScalar();
connection2.Close();
if (intRowCount1 == 1)
{
Messages myMsg = new Messages(); // ایجاد نمونه از کلاس
myMsg.CreateMessageAlert("صندلی رزرو شده است . صندلی دیکری انتخاب نماییدو یا در صورت رزرو تمامی صندلی ها میز و شماره صندلی را دیگری انتخاب نمایید.");
}
else
{
/////////////////////counter
// int t = 0;
// int c = 0;
// if(t<=2){
string strQuery = "INSERT INTO [SingleSeatTable](SeatNumber,TableName,EventCode,Reserved,customer_id)" + "VALUES(@SeatNumber,@TableName,@EventCode,@Reserved,@customer_id)";
SqlConnection connection = DBConnection.getConnection();
connection.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = connection;
cmd.CommandText = strQuery;
string cis = Session["customerID"].ToString();
/******query No.1********/
cmd.Parameters.Add("@SeatNumber", seatnumber);
cmd.Parameters.Add("@TableName", seatname);
cmd.Parameters.Add("@EventCode", "100");
cmd.Parameters.Add("@Reserved", "1");
cmd.Parameters.Add("@customer_id", cis);
cmd.ExecuteNonQuery();
connection.Close();
Response.Redirect("ReservationSucces.aspx");
t = c++;
// t = c++;
// }
}
}
else
{
Messages myMsg = new Messages(); // ایجاد نمونه از کلاس
myMsg.CreateMessageAlert("ظرفیت رزرو شما پر شده است . شما نمی توانید بیش از دو صندلی انتخاب نمایید");
}
}
答案 0 :(得分:0)
计数器无效,因为t和c变量范围位于单击功能内。每次调用此函数时,它都会将t和c值重置为0(零)。
在插入表格之前,首先检查数据库中每个客户的座位数。
Messages myMsg = new Messages();
short seatCounts = 0;
string sql= "select count(customer_id) from SingleSeatTable where customer_id =@customer_id";
SqlConnection conn = DBConnection.getConnection();
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Parameters.Add("@customer_id", SqlDbType.VarChar);
cmd.Parameters["@customer_id"].Value = cis;
try
{
conn.Open();
seatCounts = (Int32)cmd.ExecuteScalar();
}
catch (Exception ex)
{
myMsg.CreateMessageAlert(ex.Message);
}
if(seatCounts < 2)
{
//allow to insert another seat
}
else
{
myMsg.CreateMessageAlert("you can not add more than two seats"); //or your message
}