0
我有一个用户可以预订导师的网络表单。但他们必须先选择课程/主题,日期和时间进行预订。我有一个运行数据库的方法来检查课程,日期和时间是否不在同一时间出现在表中。换句话说,它检查预订是否可用,或者是否有人已经预订了该特定日期和时间的课程。在'and'附近预期条件的上下文中指定的非布尔类型的表达式。 C#
代码:
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 [[email protected]] and [[email protected]] and [[email protected]];";
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]'中使用方括号?别。 – CodeCaster