c# - 单击搜索按钮时出现错误

标签 c# mysql

当点击搜索按钮时,它给了我这个错误(“43”附近的语法不正确)43是区域ID,我确保所有表中的区域ID都相同,政府ID也相同,这是我使用的代码

protected void Button1_Click(object sender, EventArgs e)
{
    //Page.RegisterStartupScript("open", "<script language=javascript>alert('dd')</script>");
    //   Session["conection"] = "Data Source=MEDICONSULT;Initial Catalog=test;Integrated Security=True";
    Session["conection"] = "Data Source=MEDICONSULT;Initial Catalog=test1;Integrated Security=True";

    SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["testConnectionString"].ConnectionString);
    connection.Open();
    SqlCommand command = new SqlCommand();
    connection = new SqlConnection((string) Session["conection"]);
    connection.Open();
    SqlDataAdapter da_1 = new SqlDataAdapter(command);
    da_1 = new SqlDataAdapter();
    command = new SqlCommand();
    command.Connection = connection;
    string sql1 = "select Address1,provname from sites where cat_id=2";

    if (addressTextBox.Text != "")
    {
        sql1 = "SELECT provname,address1,LAT,LONG FROM site where cat_id=2 and provname like '%'+@provname+'%'";
        SqlParameter search = new SqlParameter();
        search.ParameterName = "@provname";
        search.Value = addressTextBox.Text.Trim();
        command.Parameters.Add(search);
    }

    if (DropDownList1.SelectedValue != "0")
    {
        sql1 = " SELECT area, address1, provname FROM sites WHERE cat_id=2 and gov_id='" + DropDownList1.SelectedValue + "'";
    }

    if (DropDownList2.SelectedValue != "0" && DropDownList1.SelectedValue != "0")
    {
        sql1 = "SELECT area, address1,provname FROM sites WHERE cat_id=2 and gov_id='" + DropDownList1.SelectedValue + "and area_id='" + DropDownList2.SelectedValue;
    }

    command.CommandText = sql1;
    da_1.SelectCommand = command;
    ds_1 = new DataSet();
    da_1.Fill(ds_1, "sites");

    searchResults.DataSource = ds_1;
    searchResults.DataBind();
    Label1.Text = ds_1.Tables[0].Rows.Count > 0 ? ds_1.Tables[0].Rows.Count.ToString() : "لا يوجد نتائج من البحث الذي ادخلته";
}

最佳答案

您在查询的 and 之前以及 and 处错过了单引号 '

 sql1 = "SELECT area, address1,provname FROM sites WHERE cat_id=2 and gov_id='" + DropDownList1.SelectedValue + "'"+ " and area_id='" + DropDownList2.SelectedValue+"'";

但我肯定会说请使用参数化查询。

Sql1 = "SELECT area, address1,provname FROM sites WHERE cat_id=2 and gov_id= @gov_id and area_id= @area_id";
SqlCommand cmd = new SqlCommand(sql1, conn);
cmd.Parameters.AddWithValue("@gov_id", DropDownList1.SelectedValue);
cmd.Parameters.AddWithValue("@area_id", DropDownList2.SelectedValue);

关于c# - 单击搜索按钮时出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18811486/

相关文章:

MySQL 使用 LIMIT 返回第一条记录

php - 在 MySql 和 Objective C 之间传递数据

c# - 我可以用什么让用户建立自己的头像角色?

c# - 正则表达式解析用户代理字符串

c# - 如何将对象序列化为xml?

php - ON DELETE CASCADE 在 MySQL 中不起作用

PHP 和 MySQL SESSION,最后一行

c# - 如何使用 httpClient.postAsync 在 UWP 中上传图像或 bytes[]

c# - 如何固定通用 Span<T> 实例以使用 Parallel.For 对其进行处理?

c# - ASP.NET MVC3 验证问题