CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

关于数据库更新的问题,100分不够再送

楼主zhjboss(小张)2004-05-03 00:02:01 在 .NET技术 / C# 提问

private   void   button3_Click(object   sender,   System.EventArgs   e)  
  {  
  try  
  {  
   
  SqlConnection   myconn=new   SqlConnection(fdch.sqlconnstr.sqlconn());  
  SqlCommand   cmd=new   SqlCommand();  
  cmd.Connection=myconn;  
  cmd.CommandText="querystate";  
  cmd.CommandType=CommandType.StoredProcedure;  
  //SqlDataAdapter   da   =   new   SqlDataAdapter();  
  da.SelectCommand=cmd;  
  DataSet   ds   =   new   DataSet   (   );  
  da.Fill(ds,"statearea");  
  SqlCommandBuilder   dc=new   SqlCommandBuilder(da);  
  dataGrid1.SetDataBinding(ds,"statearea");  
  myconn.Close();  
   
  }  
  catch(System.Data.SqlClient.SqlException   ee)  
  {  
  MessageBox.Show("出错了"+ee.ToString());  
  }  
   
  }  
   
  private   void   button4_Click(object   sender,   System.EventArgs   e)  
  {  
  da.Update((DataSet)dataGrid1.DataSource,"statearea");  
  }  
  这样对数据库的更新就有用,但如果把它们放到一个类中就不行  
  private   void   button3_Click(object   sender,   System.EventArgs   e)  
  {  
  try  
  {  
  ExecuteProcedure   myep=new   ExecuteProcedure();  
  myep.procedurename="querystate";  
  myep.tablename="statearea";  
                                  dataGrid1.SetDataBinding(myep.allquery(),myep.tablename);  
   
  }  
  catch(System.Data.SqlClient.SqlException   ee)  
  {  
  MessageBox.Show("ûÓÐÕâ¸ö¼Ç¼"+ee.ToString());  
  }  
   
  }  
   
  private   void   button4_Click(object   sender,   System.EventArgs   e)  
  {  
  try  
  {  
  DataSet   de=new   DataSet();  
  de=(DataSet)dataGrid1.DataSource;  
  ExecuteProcedure   myep=new   ExecuteProcedure();  
  myep.tablename="statearea";  
          myep.updata(myep.allquery(),myep.tablename);  
  }  
  catch(System.Data.SqlClient.SqlException   ee)  
  {  
  MessageBox.Show("ûÓÐÕâ¸ö¼Ç¼"+ee.ToString());  
  }  
  }  
   
    类文件是:  
  public   DataSet   allquery()  
  {  
  myconn.Open();  
  SqlCommand   cmd=new   SqlCommand();  
  cmd.Connection=myconn;  
          cmd.CommandText=procedurename;  
  cmd.CommandType=CommandType.StoredProcedure;  
  myda1.SelectCommand=cmd;  
  SqlCommandBuilder     dc=new   SqlCommandBuilder(myda1);  
  DataSet   myds=new   DataSet();  
  myda1.Fill(myds,tablename);  
          return   myds;  
  }  
  public   void   updata(DataSet   de,string   tablename)  
  {  
  ///myconn.Open();  
  SqlCommandBuilder     dc=new   SqlCommandBuilder(myda1);  
  myda1.Update(allquery(),tablename);  
   
  }  
   
  myda1为全局变量  
  错在  
  "当传递具有已修改行的datarow集合时,更新要求有效的updatacommand“    
  谁有更新的代码,是用存储过程查询后,再更新到数据库,是封装在一个类中的,对任何表都可以用的,,只要把存储名和表名改也就行了,也就是说是一个查询更新类公共类 问题点数:0、回复次数:12Top

1 楼lgqTiger(【老虎】(抵制日货...))回复于 2004-05-03 00:07:52 得分 0

添加一个OleDbCommandBuilder   的变量就可以了!  
  详细请看:  
  http://expert.csdn.net/Expert/topic/2950/2950161.xml?temp=.3154261Top

2 楼huangsuipeng(hsp|I love foxpig)回复于 2004-05-03 00:17:43 得分 0

SQL   HELPERTop

3 楼zhjboss(小张)回复于 2004-05-03 07:02:48 得分 0

SqlCommandBuilder     dc=new   SqlCommandBuilder(myda1);  
  我不是加了吗?Top

4 楼cowbi(庆宝宝)回复于 2004-05-03 09:27:22 得分 0

public   static   DataSet   allquery()  
  把它声明成静态的看看,建议还是跟踪一下Top

5 楼zhjboss(小张)回复于 2004-05-03 09:37:50 得分 0

我知道为什么直接在按钮中写代码可以,是因为myda1这个没有变化,  
   
  把它们放到一个类中,当查询时,     再返回更新时,mydal已经不是原来查询时myda了,因此不行,但我不知道怎么改写Top

6 楼zhjboss(小张)回复于 2004-05-14 07:26:17 得分 0

谁还有比较好的方法吗?Top

7 楼zhjboss(小张)回复于 2004-06-09 06:44:46 得分 0

谁有比较好的方法中Top

8 楼hivak47(比尔)回复于 2004-06-09 08:25:30 得分 0

用SQL语句实现比较简单。Top

9 楼haohaohaohao()回复于 2004-06-09 08:33:11 得分 0

你的数据集变量应该设置成全局的静态变量就可以了!因为你是在不同的函数中操作该数据集的!!Top

10 楼wuzhijie(阿杰)回复于 2004-06-09 11:07:18 得分 0

DataSet   myds=new   DataSet();  
  myds=allquery();  
  myda1.Update(myds,tablename);  
  Top

11 楼zhjboss(小张)回复于 2004-06-09 15:49:43 得分 0

但只能更新一个表啊Top

12 楼zhjboss(小张)回复于 2004-06-29 10:02:49 得分 0

还是不行啊Top

相关问题

  • 数据库更新
  • 数据库更新?
  • 数据库更新
  • 数据库的更新
  • 数据库不能更新
  • 更新数据库问题
  • 无法更新数据库?
  • 数据库更新无效
  • 怎样更新数据库??????
  • 数据库更新问题

关键词

  • datagrid
  • ds
  • myep
  • statearea
  • executeprocedure
  • frac14
  • myconn
  • eventargs e
  • da
  • datagrid1

得分解答快速导航

  • 帖主:zhjboss

相关链接

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

广告也精彩

反馈

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