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 に答える