使用using语句C#SQL是否可行?
private static void CreateCommand(string queryString,
string connectionString)
{
using (SqlConnection connection = new SqlConnection(
connectionString))
{
SqlCommand command = new SqlCommand(queryString, connection);
command.Connection.Open();
command.ExecuteNonQuery();
}
}
如果打开连接时出现错误怎么办?
using语句是try并最终
没捕获
因此,如果我在使用托架的外面捕获了,那么捕获会捕获连接打开错误吗?
如果没有,如何使用上面显示的
using
语句实现呢? 最佳答案
可以在C#中执行此操作(我也看到代码在MSDN http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.executenonquery.aspx中完全显示了)。但是,如果您需要防御,例如记录可能有助于在生产环境中进行故障排除的潜在异常,则可以采用以下方法:
private static void CreateCommand(string queryString,
string connectionString)
{
using (SqlConnection connection = new SqlConnection(
connectionString))
{
try
{
SqlCommand command = new SqlCommand(queryString, connection);
command.Connection.Open();
command.ExecuteNonQuery();
}
catch (InvalidOperationException)
{
//log and/or rethrow or ignore
}
catch (SqlException)
{
//log and/or rethrow or ignore
}
catch (ArgumentException)
{
//log and/or rethrow or ignore
}
}
}