我正在創建一個方法來通過傳遞一個搜索字段來從任何表中選擇id。如何將表作爲參數傳遞給MySqlCommand?
private int SelectId(string tabela, string campo, string valor)
{
int id = 0;
using (command = new MySqlCommand())
{
command.Connection = conn;
command.Parameters.Add("@tabela", MySqlDbType.).Value = tabela;
command.Parameters.Add("@campo", MySqlDbType.Text).Value = campo;
command.Parameters.Add("@valor", MySqlDbType.VarChar).Value = valor;
command.CommandText = "SELECT `id` FROM @tabela WHERE @[email protected];";
try
{
id = (int)command.ExecuteScalar();
}
catch (MySqlException ex)
{
MessageBox.Show(ex.Number + " : " + ex.Message + command.CommandText);
}
catch (Exception)
{
throw;
}
}
return id;
}
但我得到一個關於語法錯誤的MySqlException。當我查看Exception消息時,它向我顯示帶引號表的查詢! 如何以不帶引號的形式傳遞表格作爲參數?
非常感謝,夥計們。現在我對參數化SQL有了更好的理解。 – programad 2011-06-19 19:31:22