临下班被告知以前的一个网站出错了。修改公司简介的时候显示“无法保存;正被别的用户锁定”。
一看就知道有东西正在访问这个表,使更改操作不能实现。翻了半天一看源码,我就哭了。
public void DataBindUpdate()
{
string sqlstr = "select * from tb_Company where id=1";
OleDbCommand cmd = new OleDbCommand(sqlstr, dbCmd.GetConnection());
OleDbDataReader odr = cmd.ExecuteReader();
while (odr.Read())
{
newsContent.Text = odr["CompanyContents"].ToString();
newsID.Value = odr["id"].ToString();
}
}
下面紧接着一个update操作。
这不是坑我的么?你用odr不用关闭连接的么?
二话不说直接改~
string sqlstr = "select * from tb_Company where id=1";
OleDbCommand cmd = new OleDbCommand(sqlstr, dbCmd.GetConnection());
OleDbDataReader odr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
while (odr.Read())
{
newsContent.Text = odr["CompanyContents"].ToString();
newsID.Value = odr["id"].ToString();
}
odr.Close();
因为我用ftp 在服务器上直接改的,所以刷新页面不好使,重启一下网站(实际上就是把webconfig 改了名字 再改回来)ok!
ps:直接用ftp改服务器上的文件,在网速慢的情况下会导致服务器上的文件内容清空。