0

我有一个在 mysql 编辑器中工作的查询,但不是来自 VS 中的 c#。对该数据库的其他查询确实没有问题。这是代码:

    MySqlDataAdapter da = new MySqlDataAdapter();
    DataTable dt = new DataTable();
    private void button1_Click(object sender, EventArgs e)
    {
        try
        {
            MySqlConnection con = new MySqlConnection(Reusables.cstring);
            MySqlCommand cmd = new MySqlCommand();
            cmd.Connection = con;
            cmd.CommandText = "SET @var := (SELECT idPatients FROM appointments); SELECT * FROM patients WHERE idPatients = @var";
            con.Open();
            da.SelectCommand = cmd;
            da.Fill(dt);
            dataGridView1.DataSource = dt;
            Reusables.closeConnection(con);
        }
        catch (Exception ex)
        {MessageBox.Show(ex.Message); }

它抛出“命令执行期间发生致命错误”。

我已经通过代码无济于事。我把查询放到一个消息框中只是为了确保它没问题。我已经在查询中指定了数据库。如您所见,我还尝试在调用 da.Fill() 方法之前打开连接,据我所知,这通常不是必需的。我不确定从这里去哪里。任何建议表示赞赏。

4

1 回答 1

0

似乎您需要添加;Allow User Variables=True到连接字符串:https ://stackoverflow.com/a/5530620/208067

于 2013-06-28T01:42:23.210 回答