C# asp.net在数据库保存按钮上的值
我使用一个按钮将textbox en下拉阀保存到数据库中 但问题是我表弟的预订系统,他最多有50个座位 我的问题是,我是否可以加入某种验证或计数,当C# asp.net在数据库保存按钮上的值,c#,asp.net,database,button,save,C#,Asp.net,Database,Button,Save,我使用一个按钮将textbox en下拉阀保存到数据库中 但问题是我表弟的预订系统,他最多有50个座位 我的问题是,我是否可以加入某种验证或计数,当 到达或超出想要预订的人的最大位置 这是我的钮扣 protected void Button1_Click(object sender, EventArgs e) { SqlConnection cnn = new SqlConnection(); cnn.ConnectionStrin
到达或超出想要预订的人的最大位置 这是我的钮扣
protected void Button1_Click(object sender, EventArgs e)
{
SqlConnection cnn = new SqlConnection();
cnn.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["BT-1ConnectionString"].ConnectionString;
cnn.Open();
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "select * from OpdrachtGever";
cmd.Connection = cnn;
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
DataSet ds = new DataSet();
da.Fill(ds, "OpdrachtGever");
SqlCommandBuilder cb = new SqlCommandBuilder(da);
DataRow drow = ds.Tables["OpdrachtGever"].NewRow();
drow["Naam"] = TextBox1.Text;
drow["Adres"] = TextBox2.Text;
drow["PostCode"] = TextBox3.Text;
drow["WoonPlaats"] = TextBox4.Text;
drow["TelefoonNummer"] = TextBox5.Text;
drow["EmailAdres"] = TextBox6.Text;
drow["AantalPersonen"] = DropDownList1.SelectedValue;
ds.Tables["OpdrachtGever"].Rows.Add(drow);
da.Update(ds, "OpdrachtGever");
string script = @"<script language=""javascript"">
alert('Information have been Saved Successfully.......!!!!!.');
</script>;";
Page.ClientScript.RegisterStartupScript(this.GetType(), "myJScript1", script);
}
}
}
受保护的无效按钮1\u单击(对象发送者,事件参数e)
{
SqlConnection cnn=新的SqlConnection();
cnn.ConnectionString=System.Configuration.ConfigurationManager.ConnectionString[“BT-1ConnectionString”]。ConnectionString;
cnn.Open();
SqlCommand cmd=新的SqlCommand();
cmd.CommandText=“从OpdrachtGever中选择*”;
cmd.Connection=cnn;
SqlDataAdapter da=新的SqlDataAdapter();
da.SelectCommand=cmd;
数据集ds=新数据集();
da.填充(ds,“OpdrachtGever”);
SqlCommandBuilder cb=新的SqlCommandBuilder(da);
DataRow drow=ds.Tables[“OpdrachtGever”].NewRow();
drow[“Naam”]=TextBox1.Text;
drow[“Adres”]=TextBox2.Text;
drow[“PostCode”]=TextBox3.Text;
drow[“WoonPlaats”]=TextBox4.Text;
drow[“TelefoonNummer”]=TextBox5.Text;
drow[“EmailAdres”]=TextBox6.Text;
drow[“AantalPersonen”]=DropDownList1.SelectedValue;
ds.Tables[“OpdrachtGever”].Rows.Add(drow);
da.更新(ds,“OpdrachtGever”);
字符串脚本=@“
警报('信息已成功保存……!!!);
;";
Page.ClientScript.RegisterStartupScript(this.GetType(),“MyJScript 1”,脚本);
}
}
}
填充数据集后,您可以检查OpdrachtGever表中的行数:
da.Fill(ds, "OpdrachtGever");
// Check booked count
int totalBooked = 0;
foreach (DataRow row in ds.Tables["OpdrachtGever"].Rows)
{
totalBooked += Int32.Parse(row["AantalPersonen"]);
}
if (totalBooked >= 50)
{
//show error and return
}
问题是,有人可以放弃在他们预订时他想来的方式,这样valve就需要从50中减去,然后当下一个预订被从下拉列表中放入vavle时,Antalpersonen需要从上一个减去的数字中减去。我已经改变了我的答案要计算保留的总计数,还有另一个问题:当两个客户端同时运行此代码时,可能是两个客户端都执行了检查路径,然后都将行插入到数据集。现在返回一个错误,无法使用[]应用索引要防止多个客户端同时通过检查,应将totalbooked设置为静态类变量。