C# 怎么把excel 或者DatagridView的数据“更新”到数据库里面?

sw245711601 2012-02-21 02:42:43
怎么把Excel 中的数据 更新到原有的数据表里面。或者把Datagridview 显示的数据更新到数据库里面。
datagridview 中的数据也是读取Excel 显示的。更新,不是插入。
...全文
223 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
cnwin 2012-02-22
  • 打赏
  • 举报
回复
如果你使用DatagridView,那你最好使用DataAdapter获取和更新数据表。从数据库获取了数据表(DataSet或DataTable)之后,使用bindingSource为桥绑定到DataGridView。这样你更改了数据之后,对应的数据表(DataTable)相应的数据行就会更改,提交数据时可以只提交已更改的行(用GetChanges()方法)。使用Adapter的Update更新。
劉宏哲 2012-02-22
  • 打赏
  • 举报
回复
你先分析出表里的主键,然后手动写一个update的sql语句,然后用带参数的格式,然后循环数据源,给command设置参数并执行就行了。外层还应该套用事务。
sw245711601 2012-02-22
  • 打赏
  • 举报
回复
别沉了啊
sw245711601 2012-02-21
  • 打赏
  • 举报
回复

坐等高手指点,
sw245711601 2012-02-21
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 colahk 的回复:]
这只能解决有主键的数据表,对于没有主键的是不能解决的啊!

引用 3 楼 kkxxllasasas 的回复:
C# code



public static DataSet SelectSqlSrvRows(string myConnection, string mySelectQuery, string myTableName)
{
SqlConnection myConn ……
[/Quote]

请问没主键的怎么解决?
colaHK 2012-02-21
  • 打赏
  • 举报
回复
这只能解决有主键的数据表,对于没有主键的是不能解决的啊![Quote=引用 3 楼 kkxxllasasas 的回复:]
C# code



public static DataSet SelectSqlSrvRows(string myConnection, string mySelectQuery, string myTableName)
{
SqlConnection myConn = new SqlConnection(myConnection);
SqlDataAdapter myD……
[/Quote]
sw245711601 2012-02-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 kkxxllasasas 的回复:]
C# code



public static DataSet SelectSqlSrvRows(string myConnection, string mySelectQuery, string myTableName)
{
SqlConnection myConn = new SqlConnection(myConnection);
SqlDataAdapter myD……
[/Quote]

你传的参数是啥?
快乐大法师 2012-02-21
  • 打赏
  • 举报
回复


public static DataSet SelectSqlSrvRows(string myConnection, string mySelectQuery, string myTableName)
{
SqlConnection myConn = new SqlConnection(myConnection);
SqlDataAdapter myDataAdapter = new SqlDataAdapter();
myDataAdapter.SelectCommand = new SqlCommand(mySelectQuery, myConn);
SqlCommandBuilder cb = new SqlCommandBuilder(myDataAdapter);

myConn.Open();

DataSet ds = new DataSet();
myDataAdapter.Fill(ds, myTableName);

//code to modify data in DataSet here

//Without the SqlCommandBuilder this line would fail
myDataAdapter.Update(ds, myTableName);

myConn.Close();

return ds;
}

sw245711601 2012-02-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wangsunjun 的回复:]
逐行遍历Excel和DataGridView,判断与数据库中有什么不同,然后更新
更新的效率,可以将所有更新的sql一次执行,而不必要一次只更新一个
[/Quote]

有demo 让我看看吗
  • 打赏
  • 举报
回复
逐行遍历Excel和DataGridView,判断与数据库中有什么不同,然后更新
更新的效率,可以将所有更新的sql一次执行,而不必要一次只更新一个

110,534

社区成员

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

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

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