【发布时间】:2011-09-05 19:42:43
【问题描述】:
我不明白我做错了什么,我似乎无法使用准备好的语句进行 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;
}
对此的任何建议将不胜感激!
【问题讨论】:
-
我不知道它是否与此事有关,但根据文档(dev.mysql.com/doc/refman/5.1/en/…)看起来准备好的语句中的变量应该以
@为前缀,而不是?. -
我读到你必须使用 @ 来表示准备好的语句,而不是 ?因为它导致了兼容性问题。我现在不确定!
标签: c# mysql select prepared-statement