【发布时间】:2018-04-01 22:41:25
【问题描述】:
我有一个网络表单,用户可以在其中预订导师。但他们必须首先选择课程/科目、日期和时间进行预订。我有一个通过数据库运行的方法来检查课程、日期和时间是否没有同时出现在表中。换句话说,它会检查预订是否可用,或者是否有人已经预订了该特定日期和时间的课程。
代码:
public void Availability(string course, string time, string date)
{
try
{
using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["tlcString"].ConnectionString))
{
string message = "Booking already exists";
string query = "Select * From Bookings Where [Course=@course] and [Time=@time] and [Date=@date];";
using (SqlCommand command = new SqlCommand(query, conn))
{
command.Parameters.Add("@course", SqlDbType.NVarChar, 50).Value = course;
command.Parameters.Add("@time", SqlDbType.NVarChar, 50).Value = time;
command.Parameters.Add("@date", SqlDbType.DateTime, 50).Value = date;
conn.Open();
using (SqlDataReader dr = command.ExecuteReader())
{
if (dr.Read())
ClientScript.RegisterStartupScript(this.GetType(), "myalert", "alert('" + message + "');", true);
dr.Close();
}
conn.Close();
}
}
}
catch
{
string error = "Error checking availability of booking";
ClientScript.RegisterStartupScript(this.GetType(), "myalert", "alert('" + error + "');", true);
}
}
显示这个错误
在预期条件的上下文中指定的非布尔类型的表达式,靠近“和”
【问题讨论】:
-
你为什么在
[Course=@course]中使用这样的方括号?不要。