SqlDbConnection mydb = new SqlDbConnection();
mydb.conn.Open(); string strread = "select * from tab";
SqlCommand cmd = new SqlCommand(strread, mydb.conn);
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
so something....
}
else
{
Response.Write("<script>alert('记录不存在,确认返回!');history.go(-1);</script>");
return;
}
dr.Dispose();
cmd.Dispose();
mydb.conn.Close();我想问的是,要都能关闭数据链接此处的mydb.conn.Close()放在哪里最好,,,,,??如果没有取到记录,就执行js那一句返回上一页了,那下面的dr.Dispose();cmd.Dispose();mydb.conn.Close();有没有闭关啊?
新手学习求指点,,,,,,,,,,,,,,,,,,,,,谢谢!!!!!!!!
mydb.conn.Open(); string strread = "select * from tab";
SqlCommand cmd = new SqlCommand(strread, mydb.conn);
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
so something....
}
else
{
Response.Write("<script>alert('记录不存在,确认返回!');history.go(-1);</script>");
return;
}
dr.Dispose();
cmd.Dispose();
mydb.conn.Close();我想问的是,要都能关闭数据链接此处的mydb.conn.Close()放在哪里最好,,,,,??如果没有取到记录,就执行js那一句返回上一页了,那下面的dr.Dispose();cmd.Dispose();mydb.conn.Close();有没有闭关啊?
新手学习求指点,,,,,,,,,,,,,,,,,,,,,谢谢!!!!!!!!
{
//程序正常执行
}
catch
{
//捕获异常
}
finally
{
//mydb.conn.Close()
}
{
//这里放你的代码
}
catch
{
//捕获异常
}
finally
{
//mydb.conn.Close()
}
{if (conn.State == ConnectionState.Closed)
{
conn.Open();
}
string strread = "select * from tab";
SqlCommand cmd = new SqlCommand(strread, mydb.conn);
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
dr.Dispose();
cmd.Dispose();
so something....
}
else
{
Response.Write("<script>alert('记录不存在,确认返回!');history.go(-1);</script>");
return;
}
}
catch (Exception e)
{
strConnError = "数据检索失败:" + e.Message;
return null;
}
finally
{
if (conn.State != ConnectionState.Closed)
{ conn.Close();
}
}晕,,,,,,,如上,我执行那句js返回上一页了,数据链接还能关闭吗?
{
//这里。这里,,,看这里,,,,如果这边有判断,结果是跳转到其他页,,,那么,,,,,这下面的finally中的数据链接还是不是关闭了??????????????????????????????
}
catch
{
//捕获异常
}
finally
{
//mydb.conn.Close()
}
白话文解释就是你的这个代码段是否执行成功是否有异常都执行这个代码段
也就是说 你的这段代码如果出现异常 或者不出现异常
他都会走进这个括号进行代码执行 这样的话你的数据库连接就关闭了
Response.Write("<script>alert('记录不存在,确认返回!');history.go(-1);</script>");
return;
代码段中跳转页面后,有return;,,,,,下面的finally中仍然执行??是这意思不?
修改了下你的代码:
string strread = "select * from tab";
using(SqlDbConnection mydb = new SqlDbConnection())
using( SqlCommand cmd = new SqlCommand(strread, mydb.conn))
{
mydb.conn.Open();
using(SqlDataReader dr = cmd.ExecuteReader())
{
if (dr.Read())
{
so something....
}
else
{
Response.Write("<script>alert('记录不存在,确认返回!');history.go(-1);</script>");
return;
}
}
mydb.conn.Close();
}