C# WPF mysql string
本文关键字:string mysql WPF | 更新日期: 2023-09-27 18:27:40
我正在创建一个连接到localhost数据库的wpf应用程序,它有两个表,现在我遇到了一个错误,但我不确定代码中出了什么问题。有人能帮忙吗?
我收到这个错误:
"MySql.Data.MySqlClient.MySqlException"类型的未处理异常出现在MySql.Data.dll 中
附加信息:您的SQL语法有错误;检查与您的MariaDB服务器版本对应的手册在"left join author"附近使用的right语法book.author_id=author.id'在第1行
private void Filter_TextChanged(object sender, TextChangedEventArgs e)
{
connection.Open();
MySqlCommand cmd = connection.CreateCommand();
cmd.CommandText = "SELECT * FROM book where book.name like ('" + Filter.Text + "%') left join author on book.author_id=author.id";
cmd.ExecuteNonQuery();
DataTable dt = new DataTable();
MySqlDataAdapter da = new MySqlDataAdapter(cmd);
da.Fill(dt);
_dataView = new System.Data.DataView(dt);
_dataView.Sort = "name ASC,id ASC";
BooksGrid.DataContext = dt;
connection.Close();
}
将查询更改为
cmd.CommandText = "SELECT * FROM book left join author on book.author_id=author.id where book.name like ('" + Filter.Text + "%') and book.author_id=author.id";
末尾添加的"book.author_id=author.id"子句是为了确保只获得与author_id匹配的记录。
也可以代替cmd。ExecuteNonQuery(),您应该尝试使用cmd。ExecuteReader(),因为您正在检索行。