我可以在同一个查询中多次使用同一个参数吗?

Ter*_*rry 4 c# mysql parameters mysql-parameter

我想知道,一个参数是否可以在同一个查询中多次使用,如下所示:

MySqlParameter oPar0 = new MySqlParameter("e164", MySqlDbType.String);
oPar0.Value = user.E164;
string sSQL0 = "Delete from callmone.call where (caller=?e164 or called=?e164);";
clsDatabase.ExecuteSQL(sSQL0, oPar0);
Run Code Online (Sandbox Code Playgroud)

这是可能的还是我应该写2个参数?

Guf*_*ffa 5

如果数据库驱动程序处理命名参数,那么您可以重用该参数。

如果数据库驱动程序不处理命名参数,则参数名称将被忽略,并且您必须为每次使用添加一个参数值(按照它们使用的确切顺序)。

从您提供的代码来看,驱动程序似乎支持命名参数。如果代码运行没有错误,那么它就可以工作。如果驱动程序不支持名称参数,则代码将导致错误,因为只有一个参数值。