日期:2014-05-18  浏览次数:20388 次

新手。。。 数据库更改问题,看看这段代码,为什么不行,郁闷啊。。。。
//显示数据库内容
        protected   void   Button1_Click(object   sender,   EventArgs   e)
        {
                string   strSql   =   "select   content   from   img ";//sql语句
                SqlDataReader   sdr   =   db.getSdr(strSql);
                while   (sdr.Read())
                {
                        ListBox1.Items.Add(Convert.ToString(sdr[ "content "]));//将指定数据显示到listbox

                }
                sdr.Close();     //关闭内存表
                db.closeCon();   //关闭数据库
        }

        //修改数据库
        protected   void   Button4_Click(object   sender,   EventArgs   e)
        {
                        string   old   =   TextBox1.Text;
                        string   news   =   TextBox2.Text;
                        string   strSql   =   "update   img   set   content=replace(content, ' "   +   old   +   " ', ' "   +   news   +   " ') ";
                        db.suoLueData(strSql);   //替换指定内容

        ////将缩略图地址更改到数据库
        //public   void   suoLueData(string   strSql)
        //{
        //         SqlCommand   cmd   =   new   SqlCommand();
        //         cmd.Connection   =   getCon();
        //         cmd.CommandText   =   strSql;
        //         cmd.ExecuteNonQuery();
        //}
        }


1、直接点击更改按钮,可以执行
2、如果点击查询,然后点击更改,不能执行,这是为什么?

------解决方案--------------------
sdr.Close(); //关闭内存表
db.closeCon(); //关闭数据库

只看到你有关闭数据连接,没看到你有打开数据连接?
应该是数据库连接被关闭。
------解决方案--------------------
数据源打开了么?

还有你的代码里该不会是把下面那注释了吧?
////将缩略图地址更改到数据库
//public void suoLueData(string strSql)
//{
// SqlCommand cmd = new SqlCommand();
// cmd.Connection = getCon();
// cmd.CommandText = strSql;
// cmd.ExecuteNonQuery();
//}