DataGrid中就是更新不了数据,好奇怪?

minico 2005-08-30 08:24:34
按照书上的一个例子,用datagrid把一笔数据显示出来,然后加一个编辑列,
更新事件的函数按照书上写的应该没有错误的,但是点击编辑后修改TextBox中
的数据后再更新,运行没有错误,但是查看sqlserver数据库里面的数据还是没改变;
通过调试发现问题所在:修改了TextBox后,然后通过如下语句取出它的Text值:
TextBox tempTextBox = (TextBox)DataGrid1.Item.Cells[0].Controls[0];
string str = tempTextBox.Text;
发现str中取出的仍然是原来的数据,并没有变成我修改后的数据;
请各位大虾指点迷津。

还有一个问题就是,我的编辑列当选择的是按钮方式的时候点击后并不能把
相应当行变成可编辑的模式,就是点击后没有反映,而改成文本方式就可以了,
现在也是没有弄明白,请指教,多谢了^_^
...全文
114 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
flying310 2005-08-30
  • 打赏
  • 举报
回复
设置回滚了吗?
jimu8130 2005-08-30
  • 打赏
  • 举报
回复
这个要把查询数据,然后绑定的语句写成一个函数一个要放在if(!IsPostBack)里面,然后editcommand和updatecommand里面绑定语句就用这个。
你设断点后然后单步执行下看下运行流程,取下变量的值
adandelion 2005-08-30
  • 打赏
  • 举报
回复
fphuang(人在哈尔滨@net)
-------------]
方法好一些.(TextBox)DataGrid1.Item.Cells[0].Controls[0]找对象不太好的.
FindControl("ID")Z这个好一些.
-----------
另外设置断点,跟踪一下.就知道为什么会这样了.
minico 2005-08-30
  • 打赏
  • 举报
回复
可是TextBox是在DataGrid中通过(TextBox)DataGrid1.Item.Cells[0].Controls[0]取出的阿
一开始怎么初始化呢?pageload中要让DataGrid显示数据的阿,我加过if(!IsPostBack)
这样结果只是首次载入页面DataGrid中显示数据,以后就没有了阿。
adandelion 2005-08-30
  • 打赏
  • 举报
回复
Page_Load事件在提交页面的时候都会运行的,若不写在IsPostBack里面又被初始化为原来的值了.
fphuang 2005-08-30
  • 打赏
  • 举报
回复
private void DataGrid1_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
DataGrid1.EditItemIndex = e.Item.ItemIndex;
DataGrid1.DataBind();
}
private void DataGrid1_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
string s1=((System.Web.UI.WebControls.TextBox)e.Item.FindControl("Text1Box")).Text.Trim();
string sid=DataGrid1.DataKeys[(int)e.Item.ItemIndex].ToString();
string s="update yys_xl SET s_dy ='"+s1+"' where id = "+sid;
然后执行这条sql


}
adandelion 2005-08-30
  • 打赏
  • 举报
回复
IsPostBack的问题???
TextBox初始化写在
Page_Load事件
if(!IsPostBack)
{
数据绑定........
}
对任何 Web 站点而言,最重要的要求就是能够准确而安全地发送和存储信息。这种信息可以是任何形式,包括信贷公司提供的信用卡资料到市场信息网站的民意投票结果。不管将 ASP.NET Web 页面用于何种目的,您迟早都会需要处理涉及数据库的访问、读取和写入数据以及一般的控制操作。 幸运的是,操纵 Web 应用程序的数据库比以前更容易。 .NET Framework 改进了开发复杂的 Web 站点的方式。 ASP.NET 对如何开发复杂和交互的 Web 站点作了重大的改进, ADO.NET 提供了强大而灵活的数据访问功能,从根本上改变了从 Web 应用程序检索、处理和存储数据的方式。 本书将介绍如何创建能够支持数据的 ASP.NET 应用程序。本书根据一些实践经验进行编写,并列举了演示基础原理的代码示例。本书要求读者对 ASP.NET 和 C# 有一些基本的认识,如果对操纵数据库没有任何经验也没有关系,作者将指导每个过程,包括将 ASP.NET 页面与数据库连接,研究各种读取、处理和更新数据的方法。接下来研究所有涉及侧重于数据的 ASP.NET 编程的问题,包括一些高级的主题,例如使用存储过程和组件。本书还给出了案例分析,将前面几章讨论的内容都置于同一个环境加以运用。 0.1 本书主要内容 第 1 章介绍创建数据驱动的 Web 站点的一般性概念。特别讨论了 Web 站点与数据之间的关系,在此过程介绍了 ADO.NET 。在这一章的末尾,还为本书其余章节创建了一个开发环境,讨论了一些可能会遇到的问题。 到底什么是数据库呢?这似乎是个奇怪的问题。第 2 章介绍了不同类型的数据库,如何设计它们,以及如何使用它们存储和检索信息。接下来又概述了 SQL 语言,并与 Microsoft 的数据库方案作了一个简单的比较。 了解了数据库以后,就需要学习如何将它们与 ASP.NET 代码连接。第 3 章首先概述了第 1 章提到的 ADO.NET ,阐明了需要掌握的重要术语。接着是创建和测试对 Northwind 示例数据库的连接,本书将通篇使用该数据库。本章演示了大量例子,演示如何连接不同的数据源,例如 Access , SQL Server , Excel 和 XML ,以便在任何开发环境都游刃有余。 第 4 章通过一些例子,运用 DataReader 对象读取和显示数据。首先讨论了在 ASP.NET 和 ADO.NET 处理数据的原理,在 ADO.NET 引入了 Command 对象。然后介绍如何运用 DataReader 获取数据,接着将那些数据绑定到像单选按钮、复选框这样的不同控件上和最重要的 DataGrid 上。 第 5 章讨论了一个重要的 ADO.NET 对象: DataSet ,它用于存储和检索服务器上任何复杂形式的数据。在介绍完原理之后,使用大量的例子来演示使用 DataSet 的不同方法。 当然,我们并不总是读取其他人的数据,因此第 6 章介绍了如何在现有的数据创建自己的记录。该章的主题包括 ASP.NET 的验证控件,以及使用 Command 对象和 DataSet 对象实现插入记录。

62,254

社区成员

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

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

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

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