您的位置:首页 > 数据库

今天我终于能够用datagrid的编辑功能了

2006-12-17 14:02 211 查看

我成功了

我确实有点笨,datagrid一个简单的编辑更新功能就花了我一整天的时间,从昨天下午4:00多编到10:00,今天早上9:00一直到现在13:30,整整十二个小时,不过我最终成功了,我很高兴。

         开始有一个高手告诉我,大概就要像这样写:

String subject=((TextBox)e.Item.Cells[1].Controls[0]).Text;
string strsql = "update records set Subject='"+subject+"' where Id="+DG.DataKeys[e.Item.ItemIndex];

        要用到 TextBox 的类型强制转换,还有很多 cells 和括号等,然后帮我找到一个例子,让我看,可是突然发现那个例子里面有很多别的对象,我从来没有见过,于是我就放弃了,开始自己到百度上搜索“datagrid 编辑”,也找到了厚度编辑的很好的网友代码,可是我看不懂,我开始在MSDN文档里搜索不认识的对象,如 datatable ,dataview ,sqlparameter 等等,看一会觉得太难了,就放弃了,再去寻找别的途径
       这时候我可能去,搜索另一个网页的代码,有可能,看一个别人写的东西,如果再进行不下去了,就又回来看曾经看过的东西,回到了起点。就这样往复了好几次,浪费了不少时间
       最后我就照着简单的思想写:

开始我完全按照自己已有Sql知识,编写更新和删除语句,然后用各种方法取得行号的索引,连接到我的Sql语句并执行

后来一个高手指点我这样不行,于是我就开始研究我可以怎么利用 datagrid 的内部结构

我又走了一个极端,找的太深了,除了答案没有找到,迷茫倒是找到了不少

有高手高手我,C#这些东西不能钻的太深,要以应用为主

及时跳出迷圈,我就这么写,竟然成功了

   SqlConnection con = new SqlConnection("server=localhost;uid=sa;pwd=sa;Database=reminder");
   String subject=((TextBox)e.Item.Cells[1].Controls[0]).Text;
   string strsql = "update records set Subject='"+subject+"' where Id="+DG.DataKeys[e.Item.ItemIndex];
   SqlCommand com = new SqlCommand(strsql,con);
   con.Open();   
   com.ExecuteNonQuery();
   con.Close();
   DG.EditItemIndex=-1;
   databind();

我现在很高兴,我可以成功的开发出几个好玩的项目了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息