查询适用于MySql编辑器,但不适用于应用程序

时间:2013-06-28 01:12:17

标签: c# mysql

我的查询在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()方法之前打开连接,据我所知,这通常不是必需的。我不确定从哪里开始。任何建议都表示赞赏。

1 个答案:

答案 0 :(得分:0)

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