我正在编写一个小型的XAML / C#/ MySQL数据库,并希望创建一个接受参数的查询。但是,当我尝试创建它时,我设置的测试查询失败
var con = new MySqlConnection(ClsVariables.StrDb);
con.Open();
var command = new MySqlCommand("", con);
command =
new MySqlCommand("Create View r2_Add_Edit_View as SELECT era.contact_id, era.n_family FROM era WHERE era.contact_id = @ContactID", con) command.ExecuteNonQuery();
con.Close();
当我将@ContactID更改为特定数字时 - 它可以正常工作。
之后我将需要创建一个记录集,并将参数传递给它(但我可以在第二个问题中询问)。
一如既往地谢谢。
答案 0 :(得分:1)
当我将@ContactID更改为特定数字时 - 它可以正常工作。
好吧,你没有传递参数,所以只需将它添加到你的命令中:
public class MySqlConnector
{
private readonly string _connString;
public MySqlConnector(string connString)
{
_connString = connString;
}
private MySqlCommand _command;
const string Sql = "Create View r2_Add_Edit_View as SELECT era.contact_id, era.n_family FROM era WHERE era.contact_id = @ContactID";
public void CreateView(int contactId)
{
if(_command == null)
{
_command = new MySqlCommand();
_command.CommandText = Sql;
_command.Connection = _connString;
}
_command.Parameters.AddWithValue("@ContactID", contactId);
_command.ExecuteNonQuery();
_command.Close();
}
}
答案 1 :(得分:0)
尝试使用Command AddParameters方法。
command.Parameters.Add(" @ ContactID",SqlDbType.Int);
command.Parameters [" @ ContactID"]。Value = value;