c# - 在需要条件的上下文中指定的非 bool 类型表达式,位于 'and' 附近。 C#

标签 c# mysql sql asp.net

我有一个网络表单,用户可以在其中预订导师。但他们必须首先选择类(class)/科目、预订日期和时间。我有一个方法可以运行数据库来检查类(class)、日期和时间是否同时出现在表中。换句话说,它会检查所进行的预订是否可用,或者是否有人已经预订了该特定日期和时间的类(class)。

代码:

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);
        }
    }

显示此错误

An expression of non-boolean type specified in a context where a condition is expected, near 'and'

最佳答案

一些事情

  1. 修复括号,例如使用 [time]=@time 而不是 [time=@time]
  2. 检查类(class)、日期和时间是否有空值。
  3. 检查字符串变量“date”是否会转换为有效日期。

关于c# - 在需要条件的上下文中指定的非 bool 类型表达式,位于 'and' 附近。 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46854525/

相关文章:

sql - 如何终止或回滚事件事务?

c# - 如何在 ASP.Net 页面使用 C# 常量?

JavaScript PHP $_Get 问题

sql - 哪个RDBMS最接近标准SQL

php - 使用 CakePHPs find 返回匹配条件数组的所有记录

mysql - 获取MySQL路径

mysql - MySql 中的输出参数

c# - 如何从 SQLite 的异步 PCL 版本使用 SQLiteAsyncConnection?

c# - 在 OOP 中表达类型组合

c# - 为什么不显示标签的内容?