页面之间传值修改无效

linxj123 2010-11-12 03:28:54
实现功能修改
代码如下:
string oldclassname =Session["classname"].ToString();
// string oldclassname = "电信1006"; 改成这样是有效
string str = "UPDATE classinfo SET collegename='" + DropDownList3.SelectedItem.Text.Trim() + "',majorname='" + DropDownList7.SelectedItem.Text.Trim() + "',classname='" + classname.Text.Trim() + "',eduback='" + DropDownList8.SelectedItem.Text.Trim() + "',entryear='" + DropDownList5.SelectedItem.Text.Trim() + "',gradyear='" + DropDownList6.SelectedItem.Text.Trim() +"'WHERE classname ='"+oldclassname+ "'";

scn.Open();
SqlCommand scm = new SqlCommand(str, scn);
int ex=scm.ExecuteNonQuery();
scn.Close();
Label9.Text = "修改成功!!";
Label9.Style["color"] = "red";



其中Session["classname"].ToString()赋值过程如下:
string k = Page.Request.QueryString["id"];
string scn_con = ConfigurationManager.ConnectionStrings["jyxx1_connect"].ConnectionString;
SqlConnection scn = new SqlConnection(scn_con);
scn.Open();
SqlCommand selectedcmd = new SqlCommand("SELECT * FROM classinfo where classname='"+k+"'", scn);

SqlDataAdapter da =new SqlDataAdapter ();
da.SelectCommand = selectedcmd;

SqlDataReader dr = selectedcmd.ExecuteReader();

if (dr.Read())
{
classname.Text = dr["classname"].ToString().Trim();
Session ["classname"] = classname.Text.ToString().Trim ();}
id为前页的值

另外调试的 结果为 ex=1 ,但是实际没有修改
...全文
167 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
Relict 2010-11-12
  • 打赏
  • 举报
回复

都解决了啊 ??
怎么还没结贴??
linxj123 2010-11-12
  • 打赏
  • 举报
回复
绑定了,,解决了,因为不了解一个页面的生存周期造成,数据在page_load里改变了
谢谢大家!!
蝶恋花雨 2010-11-12
  • 打赏
  • 举报
回复
如果数据库的数据变了。那就是修改后没在绑定?
linxj123 2010-11-12
  • 打赏
  • 举报
回复
补充一下,如 gradyear 输入是2017
一点button,立马就变成了2016
linxj123 2010-11-12
  • 打赏
  • 举报
回复
在sql Profiler 里显示的值没有跟踪修改的值的变化而是原来的
例如一直显示是
UPDATE classinfo SET collegename='信息学院',majorname='电子信息工程',classname='电信1005',eduback='本科',entryear='2013',gradyear='2016'WHERE classname ='电信1005'
无论外面点什么都一样
sql语句是对的在查询分析器里看过了

蝶恋花雨 2010-11-12
  • 打赏
  • 举报
回复
设置个断点看看。再去u数据库看看。如果数据库改了的话。那就你没在此绑定。
wenfeng1 2010-11-12
  • 打赏
  • 举报
回复
这种问题很容易调试处理的 跟踪一下就马上出来了
孟子E章 2010-11-12
  • 打赏
  • 举报
回复
k.Trim()
linxj123 2010-11-12
  • 打赏
  • 举报
回复
回复2楼
值取到了
rwdong2199 2010-11-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 q107770540 的回复:]

单步调试

得到SQL语句

在SQL查询分析器中执行一下
[/Quote]

要有耐心去研究,眼睛又花了
yzf86211861 2010-11-12
  • 打赏
  • 举报
回复
这种问题问也没意思 自己解决
zhulong1111 2010-11-12
  • 打赏
  • 举报
回复
跟踪调试。。。。。。。。。打开sql Profiler 看看运行的sql
zhang523012313 2010-11-12
  • 打赏
  • 举报
回复
string oldclassname =Session["classname"].ToString();
你看看这个得到的值是什么?要是没获取到,肯定是修改不成功的呀!
q107770540 2010-11-12
  • 打赏
  • 举报
回复
单步调试

得到SQL语句

在SQL查询分析器中执行一下

62,272

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧