我有这段代码
DataTable dt= new DataTable();
SqlDataAdapter da;
private void LoadData()
{
using (SqlConnection cnn = new SqlConnection(ConfigurationManager.ConnectionStrings["cnn"].ConnectionString))
{
da = new SqlDataAdapter("Select * from table",cnn);
da.Fill(dt);
}
}
连接将在关闭后关闭,对吗? 如果我想更新DataTable,如何将da重新连接到cnn?
答案 0 :(得分:0)
是的,using语句将在SqlConnection上调用Dispose。见using Statement。
要以这种方式重新连接,您需要使用另一个using语句在原始using语句中进行更新或更新。
答案 1 :(得分:0)
Fill方法使用由关联的SelectCommand属性指定的SELECT语句从数据源中检索行。与SELECT语句关联的连接对象必须有效,但不需要打开它。如果在调用Fill之前关闭连接,则会打开它以检索数据,然后关闭。如果在调用Fill之前连接已打开,则它将保持打开状态。
来源:See this