CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

C#中如何用DataGrid实现数据库中数据的添加、删除、修改?

楼主linubert()2005-06-03 14:48:50 在 .NET技术 / C# 提问

注意:DataGrid中的数据与DB中的并不是一一对应,而是需要进行一些逻辑上的处理。  
   
  我现在只能用ListView来做,一行行取数据,然后显示,好麻烦。 问题点数:100、回复次数:4Top

1 楼LaoDai_Net(『老代』)回复于 2005-06-03 14:50:41 得分 49

http://dotnet.aspx.cc/ShowDetail.aspx?id=8ADE535F-AD40-4DE3-A962-A64B4FAF12C4Top

2 楼xiaoyao0945(磨磨)回复于 2005-06-03 14:51:50 得分 1

说清楚点啊   具体点Top

3 楼qingbo_hu(湖儿清清水)回复于 2005-06-03 14:54:26 得分 50

 
   
  后台  
   
  using   System;  
  using   System.Collections;  
  using   System.ComponentModel;  
  using   System.Data;  
  using   System.Drawing;  
  using   System.IO;  
  using   System.Web;  
  using   System.Web.SessionState;  
  using   System.Web.UI;  
  using   System.Web.UI.WebControls;  
  using   System.Web.UI.HtmlControls;  
   
  namespace   WebEditTemPlate  
  {  
  ///   <summary>  
  ///   WebForm1   的摘要说明。  
  ///   </summary>  
  public   class   WebForm1   :   System.Web.UI.Page  
  {  
  protected   System.Web.UI.WebControls.Label   ErrorMessage;  
  protected   System.Web.UI.WebControls.DataGrid   EventData;  
  protected   System.Web.UI.WebControls.LinkButton   LinkButton1;  
   
  private   void   Page_Load(object   sender,   System.EventArgs   e)  
  {  
  //   在此处放置用户代码以初始化页面  
  if(!(IsPostBack))  
  {  
          EventData.DataSource=LoadMyCalendarData();  
  EventData.DataBind();  
  }  
  }  
   
  #region   Web   窗体设计器生成的代码  
  override   protected   void   OnInit(EventArgs   e)  
  {  
  //  
  //   CODEGEN:   该调用是   ASP.NET   Web   窗体设计器所必需的。  
  //  
  InitializeComponent();  
  base.OnInit(e);  
  }  
   
  ///   <summary>  
  ///   设计器支持所需的方法   -   不要使用代码编辑器修改  
  ///   此方法的内容。  
  ///   </summary>  
  private   void   InitializeComponent()  
  {          
  this.EventData.CancelCommand   +=   new   System.Web.UI.WebControls.DataGridCommandEventHandler(this.DEDR_CANCEL);  
  this.EventData.EditCommand   +=   new   System.Web.UI.WebControls.DataGridCommandEventHandler(this.DEDR_EDIT);  
  this.EventData.UpdateCommand   +=   new   System.Web.UI.WebControls.DataGridCommandEventHandler(this.DEDR_UPDATE);  
  this.EventData.DeleteCommand   +=   new   System.Web.UI.WebControls.DataGridCommandEventHandler(this.DEDR_DELETE);  
  this.Load   +=   new   System.EventHandler(this.Page_Load);  
   
  }  
  #endregion  
   
  protected   void   DEDR_EDIT(object   source,   System.Web.UI.WebControls.DataGridCommandEventArgs   e)  
  {  
  EventData.EditItemIndex=Convert.ToInt32(e.Item.ItemIndex);  
  EventData.DataSource=LoadMyCalendarData();  
  EventData.DataBind();  
   
  }  
   
  private   void   DEDR_UPDATE(object   source,   System.Web.UI.WebControls.DataGridCommandEventArgs   e)  
  {  
  DataSet   dataset=LoadMyCalendarData();  
  int   row=Convert.ToInt32(e.Item.ItemIndex);  
  TextBox   edittext=null;  
   
  edittext=(TextBox)e.Item.FindControl("txtShortDesc");  
  dataset.Tables[0].Rows[row]["ShortDesc"]=edittext.Text;  
   
  edittext=(TextBox)e.Item.FindControl("txtDetailDesc");  
  dataset.Tables[0].Rows[row]["DetailDesc"]=edittext.Text;  
   
  edittext=(TextBox)e.Item.FindControl("txtStatTime");  
  dataset.Tables[0].Rows[row]["Starttime"]=edittext.Text;  
   
  edittext=(TextBox)e.Item.FindControl("txtEventDate");  
  dataset.Tables[0].Rows[row]["EventDate"]=edittext.Text;  
   
  edittext=(TextBox)e.Item.FindControl("txtEndTime");  
  dataset.Tables[0].Rows[row]["EndTime"]=edittext.Text;  
   
          dataset.WriteXml(Server.MapPath("")+"//XML//MyCalendar.xml");  
  Session["MyCalendarData"]=null;  
  EventData.EditItemIndex=-1;  
  EventData.DataSource=LoadMyCalendarData();  
  EventData.DataBind();  
  }  
   
  private   void   DEDR_CANCEL(object   source,   System.Web.UI.WebControls.DataGridCommandEventArgs   e)  
  {  
  EventData.EditItemIndex=-1;  
  Session["MyCalendarData"]=null;  
                          EventData.DataSource=LoadMyCalendarData();  
  EventData.DataBind();  
   
  }  
   
  private   void   DEDR_DELETE(object   source,   System.Web.UI.WebControls.DataGridCommandEventArgs   e)  
  {  
  DataSet   dataset=LoadMyCalendarData();  
  int   row=Convert.ToInt32(e.Item.ItemIndex);  
  dataset.Tables[0].Rows[row].Delete();  
  dataset.WriteXml(Server.MapPath("")+"//XML//MyCalendar.xml");  
  Session["MyCalendarData"]=null;  
  EventData.EditItemIndex=-1;  
  EventData.DataSource=LoadMyCalendarData();  
  EventData.DataBind();  
   
  }  
   
  protected   DataSet   LoadMyCalendarData()  
  {  
          string   sourceXml=Server.MapPath("")+"//XML//MyCalendar.xml";  
  if(!(File.Exists(sourceXml)))  
  return   null;  
   
  DataSet   cachDataSet=(DataSet)Session["MyCalendarData"];  
  if(!(cachDataSet==null))  
                                          return   cachDataSet;  
   
  DataSet   dataset=new   DataSet();  
  try  
  {  
  dataset.ReadXml(sourceXml);  
  Session["MyCalendarData"]=dataset;  
  }  
  catch(Exception   ex)  
  {  
        ErrorMessage.Text=ex.Message;  
  dataset=null;  
  }  
   
  return   dataset;  
  }  
   
   
  protected   void   DEDR_ADD(object   sender,System.EventArgs   e)  
  {  
            DataSet   dataset=LoadMyCalendarData();  
  DataRow   newrow;  
  newrow=dataset.Tables[0].NewRow();  
  newrow["ShortDesc"]="";  
  newrow["DetailDesc"]="";  
  newrow["EventDate"]="";  
  newrow["StartTime"]="";  
  newrow["EndTime"]="";  
  dataset.Tables[0].Rows.Add(newrow);  
  dataset.WriteXml(Server.MapPath("")+"//XML//MyCalendar.xml");  
  Session["MyCalendarData"]=null;  
  EventData.DataSource=LoadMyCalendarData();  
  EventData.DataBind();  
  EventData.EditItemIndex=EventData.Items.Count-1;  
  EventData.DataSource=LoadMyCalendarData();  
  EventData.DataBind();  
  }  
  }  
  }  
   
   
   
   
  代码   ,自己看Top

4 楼zhoufeng_xu(痞子徐)回复于 2005-06-03 15:27:54 得分 0

(适合单表操作,没试过多表)在项目里添加组件,然后把SQLDATAADPTER   从工具栏拉进去。  
  然后设置,系统自动生成添加,删除等代码。  
  你只需要添加函数:  
  publid   DataSet   ***()  
  {  
          DataSet   ds=new   DataSet;  
          sqlDataAdapter1.Fill(ds);  
          return   ds;  
  }  
  就能得到全部内容  
  pubilc   void   ***(dataset   ds)  
  {  
        sqlDataAdapter1.Update(ds);  
  }  
  就能添加,删除,修改数据库了。  
  Top

相关问题

  • 如何在c#程序中删除数据库
  • 数据库删除???
  • 《c#与数据库的二次亲密接触》--添加,修改,删除篇
  • 如何在C#中使用DataAdapter的update()删除数据库中的数据?
  • 如何删除数据库?
  • 如何删除数据库?
  • 如何删除数据库?
  • 数据库中删除列
  • 数据库的删除~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • 数据库记录删除

关键词

  • 代码
  • 数据
  • datagrid
  • ds
  • eventdata
  • loadmycalendardata
  • dedr
  • edittext
  • mycalendardata
  • dataset

得分解答快速导航

  • 帖主:linubert
  • LaoDai_Net
  • xiaoyao0945
  • qingbo_hu

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo