我的查询在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()方法之前打开连接,据我所知,这通常不是必需的。我不确定从哪里开始。任何建议都表示赞赏。
答案 0 :(得分:0)
似乎您需要将;Allow User Variables=True
添加到连接字符串:https://stackoverflow.com/a/5530620/208067