因此,我在应用程序中发现了很多东西。我通常需要运行多个查询,当我调用某些方法时一个接一个地运行。我很确定我知道答案,但是我不是100%地确定答案会有多大。
我有一个像这样的方法,它只是运行一个SQL查询,别无所求。
using (var dbConnection = DatabaseManager.GetConnection())
{
dbConnection.ExecuteQuery("lets pretend I've written a query here...");
dbConnection.ExecuteQuery("lets pretend I've written a query here...");
dbConnection.ExecuteQuery("lets pretend I've written a query here...");
}
现在,3个查询都在不同的表上,因此无法将它们连接在一起。我真的需要调用此方法3次吗?还是用;
分隔这些查询,然后将所有3个查询的命令文本都设置为_command.CommandText
是有益的,还是最好一次只运行一个?
对于想知道的人,这是ExecuteQuery方法:
public void ExecuteQuery(string query)
{
_command.CommandText = query;
if (_parameters != null && _parameters.Count > 0)
{
_command.Parameters.AddRange(_parameters.ToArray());
}
try
{
_command.ExecuteNonQuery();
}
catch (MySqlException e)
{
Logger.Error(e, "Database error was logged.");
}
finally
{
_command.CommandText = string.Empty;
_command.Parameters.Clear();
if (_parameters != null && _parameters.Count > 0)
{
_parameters.Clear();
}
}
}
答案 0 :(得分:0)
您可以同时运行3。如您所说,使用;设置这3个查询的CommandText。在每个结尾处。
如果没有数据返回,则没有其他工作,但是如果您需要从数据库中检索一些数据,则将需要使用ExecuteReader方法的方法NextResult。
我希望它对您有用。有一个好的代码!