我原来这样写 class connection
{
string constr = "Data Source=(local);Initial Catalog=hotel;Integrated Security=True";
public SqlConnection ConOpen()//打开并关闭连接
{
SqlConnection con = new SqlConnection(constr);
try { con.Open(); }
catch { }
finally { con.Close(); }
return con;
}
}但是我发现这种写法只适用只一次用到开启连接,一旦多次用到链接,就提示“连接的当前状态为已关闭”了,例如 connection cn = new connection();
cn.ConOpen();
SqlCommand cmd = new SqlCommand("RidSel", cn.ConOpen());//第一次用到连接
............
cmd.ExecuteNonQuery();//第而次用到连接时就提示“ExecuteNonQuery 要求已打开且可用的连接。连接的当前状态为已关闭”。于是我这样修改 class connection
{
string constr = "Data Source=(local);Initial Catalog=hotel;Integrated Security=True";
public SqlConnection ConOpen()//打开连接
{
SqlConnection con = new SqlConnection(constr);
try { con.Open(); }
catch { }
return con;
}
public SqlConnection ConClosed()//关闭连接
{
SqlConnection con = new SqlConnection(constr);
try { con.Open(); }
catch { }
finally { con.Close(); }//增加了关闭
return con;
}
}在需要关闭的时候再调用ConClosed(),请问这样做可取吗?
{
string constr = "Data Source=(local);Initial Catalog=hotel;Integrated Security=True";
public SqlConnection ConOpen()//打开并关闭连接
{
SqlConnection con = new SqlConnection(constr);
try { con.Open(); }
catch { }
finally { con.Close(); }
return con;
}
}但是我发现这种写法只适用只一次用到开启连接,一旦多次用到链接,就提示“连接的当前状态为已关闭”了,例如 connection cn = new connection();
cn.ConOpen();
SqlCommand cmd = new SqlCommand("RidSel", cn.ConOpen());//第一次用到连接
............
cmd.ExecuteNonQuery();//第而次用到连接时就提示“ExecuteNonQuery 要求已打开且可用的连接。连接的当前状态为已关闭”。于是我这样修改 class connection
{
string constr = "Data Source=(local);Initial Catalog=hotel;Integrated Security=True";
public SqlConnection ConOpen()//打开连接
{
SqlConnection con = new SqlConnection(constr);
try { con.Open(); }
catch { }
return con;
}
public SqlConnection ConClosed()//关闭连接
{
SqlConnection con = new SqlConnection(constr);
try { con.Open(); }
catch { }
finally { con.Close(); }//增加了关闭
return con;
}
}在需要关闭的时候再调用ConClosed(),请问这样做可取吗?
con = cn.ComOpen();
SqlCommand cmd = new SqlCommand("RidSel", cn.ConOpen());//第一次用到连接
............
cmd.ExecuteNonQuery();/
...........
con.Close();
con = cn.ConOpen();
SqlCommand cmd = new SqlCommand("RidSel", con);//第一次用到连接
............
cmd.ExecuteNonQuery();/
...........
con.Close();
{
static string constr = "Data Source=(local);Initial Catalog=hotel;Integrated Security=True";
static public SqlConnection ConOpen()//打开连接
{
SqlConnection con = new SqlConnection(constr);
try { con.Open(); }
catch { }
return con;
}
} con = connection.ConOpen();
SqlCommand cmd = new SqlCommand("RidSel", con);//第一次用到连接
............
cmd.ExecuteNonQuery();/
...........
con.Close();