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

C# WPF mysql string

将查询更改为

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(),因为您正在检索行。