asp.net 修改不成功

[复制链接]
查看11 | 回复1 | 2008-8-16 14:51:02 | 显示全部楼层 |阅读模式
protected void Page_Load(object sender, EventArgs e)

{

string id = Request["id"];

//连接数据库

SqlConnection conn = new SqlConnection("Server=.\\sqlExpress;Integrated Security=False;user id=f;pwd=123;database=db");

conn.Open();

string strSql = "select title,contents from table where id ='" + id+ "'";

SqlCommand com = new SqlCommand(strSql, conn);

SqlDataReader rd;

rd = com.ExecuteReader();

rd.Read();

txtTitle.Text = rd["title"].ToString();

txtContent.Text = rd["contents"].ToString();

conn.Close();


}

protected void btnRewrite_Click(object sender, EventArgs e)

{

string id = Request["id"];

try

{

//连接数据库

SqlConnection conn = new SqlConnection("Server=.\\sqlExpress;Integrated Security=False;user id=f;pwd=123;database=db");

conn.Open();

SqlCommand com = new SqlCommand("update table set title='" + txtTitle.Text.ToString() + "',contents = '" + txtContent.Text.ToString()+ "'where id ="+ id, conn);

com.ExecuteNonQuery();

conn.Close();

Response.Write("");

}

catch

{

Response.Write("");

}

}
代码如上所示
我先绑定数据
然后点击修改以后 把新的数据写入数据库中
本来应该是很简单的过程
而且我用了try catch
而且每次点击修改 都能显示已经操作成功
但是数据库里面的东西一点都没有修改
大家帮我看看问题处在哪里啊

回复

使用道具 举报

千问 | 2008-8-16 14:51:02 | 显示全部楼层
是呀,你永远都改不了,去单步执行,你先让网运行起来,然后修改数据,在点确写的时候,你在你的PAGE_LOAD事件的头部打个断点,人就可以清楚的看到人的问题出在那儿了。我在这里说一点儿,也许你还是不明白,只要你按我上面说的做了,你一定会明白了,并且你下一次再也不会犯这样的毛病了。呵呵呵问题:你修改完了你的数据后,你点确定,你的程序还会执行PAGE_LODA中的代码,这样它又将数据绑定回去了,也就是说你刚改的东西是白改的,此时它又就将数据库中取的那个旧数据放上去,然后又去执行你的修改代码,这样虽然提示改了,但是还是没有改了。明白了吗?总的一句话,PGE_LODA事件是最先执行的,其它时事都要比他执行的晚的。这就是你的那个问题的根源了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行