| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 764 人关注过本帖
标题:刚学C#,一段修改简单代码
只看楼主 加入收藏
csharp8
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-9-23
结帖率:0
收藏
已结贴  问题点数:20 回复次数:8 
刚学C#,一段修改简单代码
点btn1,就执行updatedatebase方法,可是没任何反映
分析得出this.myds.HasChanges()结果是 false,this.myds.GetChanges()这个对象得到的也是null
为什么会这样?逻辑那里出了问题,请大虾指教指教

using System;
using System.Collections.Generic;
using
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace database
{
    public partial class Form1 : Form
    {


        public SqlDataAdapter myda = new SqlDataAdapter();
        public DataSet myds = new DataSet();
        public SqlCommandBuilder sqlcmdbld;
     
        public Form1()
        {
            InitializeComponent();

            SqlConnection sqlconn = new SqlConnection("server=LENOVO-1389D547;database=master;uid=sa;pwd=8233");
            SqlDataAdapter myda = new SqlDataAdapter("select * from student", sqlconn);

            DataSet myds = new DataSet();

            myda.Fill(myds, "stu");
           
            dataGridView1.DataSource = myds.Tables["stu"];
           

        }
        
        
      
        
        
        public DataSet updatedatebase(DataSet changedata)
    {

      
        this.sqlcmdbld = new SqlCommandBuilder(myda);
        myda.Update(changedata);
        return changedata;

        
        
        }
 private void btn1_Click(object sender, EventArgs e)
        {if (this.myds.HasChanges())
        {
this.updatedatebase(this.myds.GetChanges());
MessageBox.Show("修改成功");

        

        }
        
        
        }
    }
}
搜索更多相关主题的帖子: 代码 
2010-09-23 23:21
csharp8
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-9-23
收藏
得分:0 
杂没人回答呢
2010-09-24 10:44
红色警戒
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:19
帖 子:444
专家分:2967
注 册:2005-11-20
收藏
得分:5 
sqlconn 还没有open吧,控件上显示已有的数据了?

2010-09-24 13:36
csharp8
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-9-23
收藏
得分:0 
以下是引用红色警戒在2010-9-24 13:36:19的发言:

sqlconn 还没有open吧,控件上显示已有的数据了?
是的,dataGridView1已经显示数据了,就是点BTN1按钮的时候
提示this.myds.GetChanges()是个空值??
2010-09-24 14:32
c1_wangyf
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:7
帖 子:665
专家分:2832
注 册:2010-5-24
收藏
得分:5 
是不是你的myds就没有变化啊,那样就无法执行了吧?!
2010-09-25 09:48
csharp8
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-9-23
收藏
得分:0 
以下是引用c1_wangyf在2010-9-25 09:48:26的发言:

是不是你的myds就没有变化啊,那样就无法执行了吧?!
是的,怎么让datagridview1与myds绑定在一起???
2010-09-25 21:01
c1_wangyf
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:7
帖 子:665
专家分:2832
注 册:2010-5-24
收藏
得分:0 
其实在form_load里面的这句:dataGridView1.DataSource = myds.Tables["stu"];就是绑定。

我说的是看看你的myds在每次操作的时候有没有变化,没有变化的话,你的this.myds.HasChanges()判断是true还是false?!
private void btn1_Click(object sender, EventArgs e)
 {if (this.myds.HasChanges())
   {
     this.updatedatebase(this.myds.GetChanges());
     MessageBox.Show("修改成功");
    }
  }
所以后面{}里面的要看判断结果啊!
2010-09-26 12:16
l06053107
Rank: 1
等 级:新手上路
帖 子:1
专家分:5
注 册:2010-9-26
收藏
得分:5 
填充的表名错了
2010-09-26 20:23
anony
Rank: 2
等 级:论坛游民
帖 子:26
专家分:49
注 册:2009-10-26
收藏
得分:5 
这个我也出现过啊…………就是这段代码执行通过了,可是数据库没有改变…………后来自己写了一个函数,将里边的字段一个一个赋值就执行成功了…………不清楚怎么回事…………建议不要绑定…………否则数据库挂了…………你的界面也就挂了…………
2010-09-27 16:15
快速回复:刚学C#,一段修改简单代码
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025375 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved