c# - 程序返回 sql 语法错误,需要帮助来识别错误

标签 c# mysql asp.net

我正在尝试使用 webform gridview 上的文本框构建一个搜索功能,该功能填充来自远程 mysql 数据库的记录。 我遇到了语法错误,但是当我检查手册并尝试遵循正确的语法时,错误仍然存​​在。 我正在使用 Asp.net 2013 和远程 mysql 数据库。

public partial class resitDB : System.Web.UI.Page
{
    string myConn = "SERVER=110.4.**.***;PORT=****;DATABASE= ***** ;UID=**** ;PASSWORD=***** ;";
    DataTable dt;
    protected void Page_Load(object sender, EventArgs e)
    {
        Label1.Text = Session["username"].ToString();

        if (!IsPostBack)
        {
            using (MySqlConnection conn = new MySqlConnection(myConn))
            {
                using (MySqlCommand com = new MySqlCommand("SELECT * FROM `tblresit`", conn))
                {
                    using (MySqlDataAdapter da = new MySqlDataAdapter())
                    {
                        com.Connection = conn;
                        da.SelectCommand = com;
                        using (DataTable dt = new DataTable())
                        {
                            da.Fill(dt);
                            GridView1.DataSource = dt;
                            GridView1.DataBind();
                        }
                    }
                }
            }
        }
        //here

        searchData("");
    }

    public void searchData(string valueSearch)
    {
       //the sql error is here
        string query = "SELECT * FROM 'tblresit' WHERE CONCAT ('custName','IdResit','resitId','custId') LIKE '%"+valueSearch+"%' )";

        MySqlConnection con = new MySqlConnection(myConn);
        MySqlCommand com = new MySqlCommand(query, con);

        MySqlDataAdapter adapter = new MySqlDataAdapter(com);
        dt = new DataTable();
        adapter.Fill(dt);
        GridView1.DataSource = dt;
    }

    protected void searchBtn_Click(object sender, EventArgs e)
    {
        string valueSearch = searchTxt.Text.ToString();
        searchData(valueSearch);
    }  
}

最佳答案

我的猜测是你想写类似的东西

SELECT * 
FROM tblresit
WHERE custName LIKE '%valueSearch%' 
   or IdResit  LIKE '%valueSearch%'
   or resitId  LIKE '%valueSearch%'
   or custId   LIKE '%valueSearch%'

关于c# - 程序返回 sql 语法错误,需要帮助来识别错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46324041/

相关文章:

c# - 使用生成的控件正确设计(最佳位置)此 winform 面板

mysql - 轻量级 mySQL 服务器?

php - 架构数据库 : get latest insert ID

php - 使用文本框 mysql php 从 mysql 数据库中取出号码

asp.net - 在代理服务器后面设置 ASP.NET 应用程序的基本 url

c# - StructureMap 认为它必须注入(inject)构造函数并抛出异常

asp.net - 社交网络在商业环境中的创新运用

c# - 如何在 asp.net mvc web api 中为返回动态的 OData 服务启用排序

c# - 我创建了一个修改过的吃 bean 人,如何让他喷火?

c# - 如何编写引用 dotnet 标准 2.0 项目的 roslyn 分析器