我正在尝试使用 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/