asp.net update语句没办法实现。

[复制链接]
查看11 | 回复8 | 2021-1-27 07:20:00 | 显示全部楼层 |阅读模式
本人用的软件是VS2010,数据库是ACCESS。
界面大致如下:

然后点击“编辑”的时候,会进行跳转,跳转至如下界面

该页面的值,都是通过如下代码获得的。
protectedvoidPage_Load(objectsender,EventArgse)
{
if(Request.QueryString["adid"]!=null)
{
Button3.Style["display"]="block";
stringid=Convert.ToString(Request.QueryString["adid"]);
stringstrConn="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="+Server.MapPath("App_Data/access.mdb");
OleDbConnectionConnAcc=newOleDbConnection(strConn);
ConnAcc.Open();
stringstrSql1="select*from[news]where[id]='"+id+"'";
OleDbCommandcmd1=newOleDbCommand(strSql1,ConnAcc);
OleDbDataReaderdr=cmd1.ExecuteReader();
dr.Read();
txtTitle.Text=Convert.ToString(dr["标题"]);
txtUser.Text=Convert.ToString(dr["发布人"]);
TextBox1.Text=Convert.ToString(dr["通告内容"]);
Image1.ImageUrl=Convert.ToString(dr["img"]);
dr.Close();
ConnAcc.Close();

}
}
问题的关键来了,如果,我在此页面,点击“更新宝贝”,会显示“更新宝贝成功”,但是所有数据库的数,除了图片都不会改变,但是如果,我在如下发布页面对数据库进行更新,是能够完全更新成功的。

数据库更新按钮的代码如下,其中为了用于测试,特地选了ID=3的数据,进行调试


分 -->
回复

使用道具 举报

千问 | 2021-1-27 07:20:00 | 显示全部楼层
你是不是Session或者其他需要改变的值有问题啊。两个页面实际过来的参数不一样?
回复

使用道具 举报

千问 | 2021-1-27 07:20:00 | 显示全部楼层
既然图片可以改变,说明sql语句拼接没问题,就看其他字段是否取到正确的值,自己调试看看哪里不对
回复

使用道具 举报

千问 | 2021-1-27 07:20:00 | 显示全部楼层
应该是后台获取前台值不正确,可以断点调调。IsPostBack()瞅瞅
回复

使用道具 举报

千问 | 2021-1-27 07:20:00 | 显示全部楼层
会debug么
回复

使用道具 举报

千问 | 2021-1-27 07:20:00 | 显示全部楼层
断点调试,很快就找到问题啦。
回复

使用道具 举报

千问 | 2021-1-27 07:20:00 | 显示全部楼层
或者是不是字符的问题,或者使用try{}catche(){}抛出异常看看。
回复

使用道具 举报

千问 | 2021-1-27 07:20:00 | 显示全部楼层
先清除session,再去获取Session.Clear();
回复

使用道具 举报

千问 | 2021-1-27 07:20:00 | 显示全部楼层
debug断点调试吧
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行