日期:2014-05-18  浏览次数:20929 次

DataGridView与表
DataGridView中的数据是我用个SQL语句从多个表中
通过连接得到的
那么我在DataGridView中进行修改,添加,删除如何实现
对数据库的同步更新?

------解决方案--------------------
我也不懂,帮忙顶一下.
------解决方案--------------------
根据子表的主键来操作update、delete
------解决方案--------------------
如果是同一张表作为DataGridView数据源可以用适配器 SqlDataAdapter.update() 来提交在DataGridView中进行修改,添加,删除的操作.
如果是多个表查询组合成的DataGridView数据源,就自己根据条件写代码
------解决方案--------------------
自己写SQL语句。
------解决方案--------------------
wuyi8808(TM)的方法
把那表数据分开来更新

------解决方案--------------------
用个公有类来进行数据库的增,删,改


SqlConnection con=null;
public Dbo()
{
conn=new SqlConnection(
"server=.;uid=sa;pwd=sa;database=xxxxxx ");
}

public bool Update(string sql)
{
SqlCommand cmd=con.CreateCommand();
cmd.CommandText=sql;

try
{
conn.Open();
return cmd.ExecuteNonQuery()> 0;
}
catch
{
return false;
}
finally
{
conn.Close();
}
}
------解决方案--------------------
DataGridView中有触发事件,你对应编写不同的操作数据库的函数就是了,或者你可以用DataSource绑定DataGridView,它里面分别有Update等事件处理,你只需要把sql语句放进去就是了 。
------解决方案--------------------
数据来自多个表联合更新时需要注意了,如果想通过数据适配器自动更新通常不能像单个表那样更新,得需要手工一个表一个表的来更新了,在联合查询得到结果时需要将主键列也提取出来,以便更新条件的设定
------解决方案--------------------
楼上几位说的简单,我想楼主应该不说想要这些答案.
------解决方案--------------------
用视图很简单的
------解决方案--------------------
用视图的话,那就相当于在一个表中了,呵呵,应该容易更新了。
同意~
------解决方案--------------------
你有什么必要弄这多张表同时更新吗??要是真这样除了一张张自己更新没办法
------解决方案--------------------
SqlCommand cmd=con.CreateCommand();
cmd.CommandText=sql;

try
{
conn.Open();
return cmd.ExecuteNonQuery()> 0;
}
catch
{
return false;
}
finally
{
conn.Close();
}