【问题标题】:C# DataTable and SqlDataAdapter open, close connection and performance issueC# DataTable 和 SqlDataAdapter 打开、关闭连接和性能问题
【发布时间】:2018-06-20 04:51:59
【问题描述】:

这是我用来从数据库中获取数据的函数

 public static DataTable getDataTable(string sql, string tableName)
    {
        DataTable dt = new DataTable();
        try
        {
            SqlDataAdapter da = new SqlDataAdapter(sql, new SqlConnection(strConn));
            da.Fill(dt);
            dt.TableName = tableName;
        }
        catch (Exception)
        {
            dt = null;
        }
        return dt;
    }

问题是:

  1. 它会自动打开和关闭连接吗?因为似乎我们只将 sql 查询传递给 SqlDataAdapter,它没有打开或关闭连接。
  2. 是否会导致任何性能降低应用程序的速度?
  3. 是否会导致服务器(内存)出现任何性能问题?

提前致谢。

【问题讨论】:

    标签: c# datatable sqldataadapter


    【解决方案1】:

    希望对你有帮助

    答案 1: 如果我没记错的话,SQLConnection 在后台管理连接池。

    这是一篇关于这个主题的好文章: https://msdn.microsoft.com/en-us/library/ms971481.aspx

    此外,最佳做法是使用“using”关键字来包装您的连接,因为它会在范围退出后自动关闭您的连接(有或没有例外)

      using(SqlConnection conn = new SqlConnection())
      {
        conn.Open();
        //Do Work with connection
    
      } //Connection automatically closes here without the need to call conn.Close()
    

    答案 2: Sql Connection open slow down or make application performance better

    答案 3: What is Best Approach for Opening/Closing SqlConnection in C#

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-27
      • 2018-10-30
      • 1970-01-01
      相关资源
      最近更新 更多