dataset里的数据刷新

hky44 2011-02-25 03:12:04
如何根据dataset里面的表数据刷新数据 从数据库里重新获取最新数据。不是用重新查询
我的情况是这样的。 在一个窗体新增数据后。会在另一个窗体操作这些数据改变新增时候的数据状态。。但我操作完后在回到新增窗体时状态是还没改变时的状态。。所以这时候我需要一个刷新的功能
...全文
383 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hky44 2011-02-25
  • 打赏
  • 举报
回复

//Form1的数据绑定事件
public void bind_Data()
{
//从数据库提取数据并设定DataGridView的数据源为DataSet
}

问题就是在这里。我要怎么样才能从数据库里提取跟dataset里面对应的最新数据来
因为我是新增的 没有查询语句。所以我要用数据库的数据来更新Dataset
yalan 2011-02-25
  • 打赏
  • 举报
回复
你可以这样做你的窗体:
Form1_Load()
{
//绑定你的数据源
bind_Data();
}
//Form1的数据绑定事件
public void bind_Data()
{
//从数据库提取数据并设定DataGridView的数据源为DataSet
}
//打开Form2数据添加窗口
private void btn_添加数据_Click(Object sender,EventArgs e)
{
//传一个this参数
Form2 f2=new Form2(this);
f2.Show();
}

Form2添加数据窗体
构造函数:
Form1 f1=new Form1();
public Form2(Form1 frm_f1)
{
f1= frm_f1;
InitializeComponent();
}

//Form2窗体添加完数据后,调用f1的数据绑定事件
private void 添加数据()
{
//数据更新完毕
MessageBox.Show("数据添加成功");
f1.bind_Data()
}




以上是一种方法。另一种方法更简单
Form1窗体的Activated事件写为:
private void Form1_Activated(Object sender,EventArgs e)
{
//绑定数据源
bind_Data();
}

这就行了,每次窗体被激活都会重新刷新数据。



两种方法比较:方法一最及时,添加完数据后马上在Form1显示数据,缺点是两个窗体间传参初学者可能不会。

方法二最简单,但是每次激活窗体都会重新加载数据,缺点是如果数据量大可能会造成数据库负担。


个人推荐方法一
wuyq11 2011-02-25
  • 打赏
  • 举报
回复
委托刷新窗体数据
sqldatadapter更新数据
planet 2011-02-25
  • 打赏
  • 举报
回复
sda.Update(ds); //sda=SqlDataAdapter,ds=DataSet
然后重新绑定
yalan 2011-02-25
  • 打赏
  • 举报
回复
将你的那个窗体的Activated的事件也写上你的数据绑定事件,当别的窗口关闭使当前窗口活动时自动重新绑定数据源。

或者在该窗体将绑定数据源事件定义为Public类型,别的窗口添加数据后调用该窗口的数据绑定事件
yalan 2011-02-25
  • 打赏
  • 举报
回复
重新绑定一下数据源吧

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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