高手们怎么将datagridview中的数据与数据库中的数据实现同步啊!
我的问题是这样的,我有一个窗体,体面有个datagridview控件用来读取数据库数据的在这个窗体中有个“添加按钮”点击会弹出新窗体,在新窗体插入数据到数据库中可是我插入...
我的问题是这样的,我有一个窗体,体面有个datagridview控件用来读取数据库数据的
在这个窗体中有个“添加按钮”点击会弹出新窗体,在新窗体插入数据到数据库中
可是我插入的数据不能同步到datagridview中,怎么让他实现这种功能?
如图
各位大侠最好给个例子!谢谢了!!! 展开
在这个窗体中有个“添加按钮”点击会弹出新窗体,在新窗体插入数据到数据库中
可是我插入的数据不能同步到datagridview中,怎么让他实现这种功能?
如图
各位大侠最好给个例子!谢谢了!!! 展开
5个回答
展开全部
插入数据库成功后,查询数据库,重新绑定DataGridView
// 窗体加载时,填充数据集
private void Form1_Load(object sender, EventArgs e)
{
BindProductList();
}
private void BindProductList()
{
// 查询数据库用的 SQL 语句
string sql = "select * from products";
SqlConnection conn = new SqlConnection("server=.;uid=sa;pwd=;database=northwind");
// 创建数据集对象
SqlDataAdapter dataAdapter = new SqlDataAdapter(sql, conn);
// 创建数据集对象
DataSet dataSet = new DataSet("Products");
// 填充数据集
dataAdapter.Fill(dataSet, "Products");
// 指定 DataGridView 的数据源
dataGridView1.DataSource = dataSet.Tables["Products"];
}
private void btnInsert_Click(object sender, EventArgs e)
{
//你的插入操作
if(插入成功)
{
//重新绑定数据
BindProductList();
}
}
// 窗体加载时,填充数据集
private void Form1_Load(object sender, EventArgs e)
{
BindProductList();
}
private void BindProductList()
{
// 查询数据库用的 SQL 语句
string sql = "select * from products";
SqlConnection conn = new SqlConnection("server=.;uid=sa;pwd=;database=northwind");
// 创建数据集对象
SqlDataAdapter dataAdapter = new SqlDataAdapter(sql, conn);
// 创建数据集对象
DataSet dataSet = new DataSet("Products");
// 填充数据集
dataAdapter.Fill(dataSet, "Products");
// 指定 DataGridView 的数据源
dataGridView1.DataSource = dataSet.Tables["Products"];
}
private void btnInsert_Click(object sender, EventArgs e)
{
//你的插入操作
if(插入成功)
{
//重新绑定数据
BindProductList();
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
每添加一次,更新一次数据源
更多追问追答
追问
public void DGrid()能不能具体点啊比如说吧我是这样的,我把加载数据源的的程序放在上述函数中,我点击添加按钮会弹出另一个窗体啊,在新窗体的“确定按钮事件”中调用DGrid()函数没反应,
追答
加入原来的窗口是class A,新弹出的窗口是class B;
在B中定义一个变量 public A form_A;
在A中添加按钮事件写成
button_click(object a,EventArgs e)
{
//代码如下
B form_B = new B();
formB.form_A = this; //该该窗体传给B
formB.Show();
}
在B的确定按钮事件
button_click(object a,EventArgs e)
{
//代码如下
form_A.DGrid();
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用接口实现
追问
能不能具体点啊!timer的tick事件要写接口吗?谢谢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
重新加载一下,就是在你的添加按钮里面写
追问
不行啊,按你说的会在插入第二条数据时出现第一条插入的数据,这样还是不同步!
我按添加按钮会弹出新窗体的!在新窗体的“确定按钮”事件中加载也不行!
追答
先把原来的清值啊,clear()一下,再重新加载啊!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |