请高手帮忙看看这段代码,提示修改成功,但数据还是没变,确定数据库连接没有问题,不知道问题出在哪儿!

protectedvoidButton1_Click(objectsender,EventArgse){SqlConnectionconn=newSqlConnectio... protected void Button1_Click(object sender, EventArgs e)
{

SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);

conn.Open();
using (SqlCommand myCommand = new SqlCommand("UPDATE Purchase SET supplier='" + supplier.Text.ToString() .Trim ()+ "',Pnum='" + Pnum.Text.ToString().Trim() + "',sortname='" + TextBox1.Text.ToString().Trim() + "',bid='" + bid.Text.ToString().Trim() + "' WHERE id=" + Request.QueryString["id"].Trim(), conn))
{
myCommand.ExecuteNonQuery();
}

conn.Close();
Response.Write("<script>javascript:alert('信息修改成功!');location.href='drug_list.aspx';</script>");

}
展开
 我来答
gushoushi
2013-05-29 · TA获得超过219个赞
知道小有建树答主
回答量:272
采纳率:0%
帮助的人:244万
展开全部
你把SQL文打印出来扔到PLSQL里边去执行看看有没有更新。
你这样写的代码,只要代码不出现异常,无论数据库更新是否更新了数据(不更新任何数据也是一种成功的执行),程序都会走到"信息修改成功”这一块去。
ExecuteNonQuery()是无返回值的执行,其实也是有返回值的,返回的是本次执行数据库受影响的行数。你可以定义一个整形,接收这个返回值,看是不是0.
追问

这是前台传回的值后台接收的,然后我就在这个基础上修改的,代码如上述的提问,会不会有影响?刚才你说的问题我知道了

追答
你第一个页面应该是一个gridview,每一行有一个超链接列,然后点超链接转到另一个页面去做更新操作,这没什么问题。
你所说的数据没有变是指这些个文本框里的值没有变还是数据库里的数据没有变?

你首先的确定你所拼接成的sql在数据库里执行有没有执行更新操作?
此外,接收上一个页面传过来值的这一块代码正确的做法是应该放在!IsPostBack里边的,这个属性表示页面加载的时候第一次执行,且只执行一次。因为如果不放在这个判断里边,其他的控件引起的回发,比如点一个按钮,都会执行page_load这个方法,那么这一块的文本框赋值相当于又从url串里边取了一次值重新赋值了一遍,也就是你虽然递交更新到数据库了,但是这些文本框里的值显示的还是上一个页面传过来的值。
不知道我说的是不是你所要问的问题。
lazyboot0928
2013-05-29
知道答主
回答量:7
采纳率:0%
帮助的人:5.5万
展开全部
建议你跟踪一下断点,看一下你的Sql语句是不是对,要更新的值是新的还是旧的,另外把SQL语句拿到数据库里面执行一下。多数是sql语句的错误。
如果sql语句没问题的话,那就接受一下myCommand.ExecuteNonQuery()的返回值吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
20yu20
2013-05-29
知道答主
回答量:2
采纳率:0%
帮助的人:2959
展开全部
看下你的接受值是否正确!不行的话调试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
威风老叔叔
2013-05-29
知道答主
回答量:22
采纳率:0%
帮助的人:14.8万
展开全部
修改成功的提示放在这里不管有没有修改每次都会运行的
换成 try catch 抛个异常出来看看哪出错了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式