我無法理解我在做什麼錯誤,我似乎無法使用預準備語句進行SELECT。不過,我可以插入一個準備好的聲明。在.Net中編寫的SELECT語句
MySqlCommand cmd = new MySqlCommand("SELECT * FROM code_post WHERE name = ?postRequired LIMIT 1", dbcon);
cmd.Parameters.Add(new MySqlParameter("?postRequired", requestString));
cmd.ExecuteNonQuery();
DataSet ds = new DataSet();
cmd.fill(ds, "result");
try {
thisBlog = ds.Tables["result"].Rows[0];
} catch {
invalid();
return;
}
任何意見,將不勝感激!
我不知道這是否與此事有關,但根據文檔(http://dev.mysql.com/doc/refman/5.1/en/connector-net-programming-prepared.html),它看起來像準備好的語句中的變量應該以'@'爲前綴,而不是'?'。 – Alxandr 2011-05-31 21:16:09
我讀過,你必須使用@準備好的語句,而不是?因爲它造成兼容性問題。我現在不確定! – AlanFoster 2011-05-31 21:25:58