(c# Winform)关于将datagridview中的数据保存到数据库的问题

gxjan 2009-12-14 11:30:11
(c# Winform)关于将datagridview中的数据保存到数据库的问题:

首先DataGridview中是没有数据的,用户在里面按格式添加很多条记录,然后点击保存,将整个DataGridview 中的数据一次添加到数据库中已有的表中,实现一次添加多条记录,请问怎么样的思路可以实现这个功能。
...全文
1106 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
panxinxin1987 2009-12-24
  • 打赏
  • 举报
回复
顶一个
gxjan 2009-12-24
  • 打赏
  • 举报
回复
这个问题我基本上解决了,感谢你的再次光顾
  • 打赏
  • 举报
回复

你已经结贴了?

要详解再开贴子给分?
gxjan 2009-12-16
  • 打赏
  • 举报
回复
2# 的
List <string> sqls=new List <string>;
for(int i=0;i <dgv.rows.Count;i++)
{
string sql=string.Format("insert into myDB(name) values('{0}')",dgv[0,i].value.ToString());
sqls.add(sql);
}
还是不太明白 for循环的语句,还望详解
gxjan 2009-12-16
  • 打赏
  • 举报
回复
非常感谢各位的精彩回答,
caymanyang 2009-12-15
  • 打赏
  • 举报
回复
datagridview的数据源设置为一个BindingSource对象,Bindingsource对象的数据源设置为dataset中指定的datatable。然后把你的输入点(假如是文本框)与Bindingsource对象中的对应数据列进行绑定。这样就可以了。如果楼主没看懂,可以仔细研究一下Bindingsource的使用。
lsj_zrp 2009-12-15
  • 打赏
  • 举报
回复
如果你的datagirdview是绑定的数据源,并且是单表有主键,就可以实现
用SqlCommandBuilder和SqlDataAdapter就可以实现批量操作
否则就只能用事务加循环了
  • 打赏
  • 举报
回复
List<string> sqls=new List<string>;
for(int i=0;i<dgv.rows.Count;i++)
{
string sql=string.Format("insert into myDB(name) values('{0}')",dgv[0,i].value.ToString());
sqls.add(sql);
}

connection=new SqlConnection(...);
command=new SqlCommand();
command.Connection=connection;
connection.Open();
DbTransaction transaction = connection.BeginTransaction();
command.Transaction = transaction;//创建事务
try
{
foreach (string sql in sqls)
{
command.CommandText = sql;
command.ExecuteNonQuery();
}
transaction.Commit();//提交事务
}
catch (Exception)
{
transaction.Rollback();//事务回滚,如果出错,恢复到操作前的状态
MessageBox.Show("未能保存"); }
finally
{
connection.Close();
}

110,534

社区成员

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

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

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