首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C# 如何把excel 或者DatagridView的数据“更新”到数据库里面

2012-07-29 
C# 怎么把excel或者DatagridView的数据“更新”到数据库里面?怎么把Excel 中的数据 更新到原有的数据表里面。

C# 怎么把excel 或者DatagridView的数据“更新”到数据库里面?
怎么把Excel 中的数据 更新到原有的数据表里面。或者把Datagridview 显示的数据更新到数据库里面。
datagridview 中的数据也是读取Excel 显示的。更新,不是插入。


[解决办法]
逐行遍历Excel和DataGridView,判断与数据库中有什么不同,然后更新
更新的效率,可以将所有更新的sql一次执行,而不必要一次只更新一个
[解决办法]

C# code
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;}
[解决办法]
这只能解决有主键的数据表,对于没有主键的是不能解决的啊!
探讨
C# code



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

[解决办法]
你先分析出表里的主键,然后手动写一个update的sql语句,然后用带参数的格式,然后循环数据源,给command设置参数并执行就行了。外层还应该套用事务。
[解决办法]
如果你使用DatagridView,那你最好使用DataAdapter获取和更新数据表。从数据库获取了数据表(DataSet或DataTable)之后,使用bindingSource为桥绑定到DataGridView。这样你更改了数据之后,对应的数据表(DataTable)相应的数据行就会更改,提交数据时可以只提交已更改的行(用GetChanges()方法)。使用Adapter的Update更新。

热点排行