//要传一个DataSet,和若干个表
/// <summary>
/// 更新数据库
/// </summary>
/// <param name="dataSet">数据集</param>
/// <param name="tableName">数据表</param>
/// <returns>-1:失败;-2:无可更新数据;其他:成功</returns>
public int UpdateDatabase(DataSet dataSet,params String[] tableName)
{
int saveCount = -;
//结束编辑
for (int i = ; i < tableName.Length; ++i)
{
this.BindingContext[dataSet, tableName[i]].EndCurrentEdit();
}
//检查变更//用一个东西存储所做的更改
DataSet changes = (DataSet)dataSet.GetChanges();
if (changes != null)
{ for (int j = ; j < tableName.Length; ++j)
{
//生成更新语句
string sqltext = "Select * From " + tableName[j] + " ";
//新建 一个连接
using (SqlConnection con = new SqlConnection(IConnectionString)) //这里要换成自己的连接字符串
{
//打开连接
con.Open();
//新建DA
using (SqlDataAdapter oDA = new SqlDataAdapter(sqltext, con))
{
try
{
//生成更新语句
SqlCommandBuilder sqlBuilder = new SqlCommandBuilder(oDA);
//更新数据库
saveCount += oDA.Update(changes, tableName[j]);
}
catch
{ throw; }
}
}
}
//dataSet.Merge(changes ); //VS2015更新完成后会自动刷新数据,如果合并后会出现重复记录手动刷新后消失
dataSet.AcceptChanges();
}
else
{
saveCount = -;
}
return saveCount;
}

最新文章

  1. 利用angular与后台的交互
  2. PHP创建数据库数据表
  3. ES6转ES5:Gulp+Babel
  4. 重写TiledServiceLayer实现Arcgis访问Mapabc地图服务 (转载)
  5. Python学习(1)
  6. android学习笔记40——国际化和资源自适应
  7. Web前端新人笔记之CSS结构和层叠
  8. What and where are the stack and heap?
  9. 360云后台(使用HTTP Cache服务器)
  10. 修改MySQL 5.5的max_allowed_packet属性的方法
  11. oracle ebs 分类账与法人主体对应关系
  12. 逢三退一(boolean数组的使用)
  13. .net mvc 利用分部视图局部刷新.
  14. [ HOJ 2713]Matrix1[网络流] 最大点权独立集问题
  15. python MRO:C3算法
  16. 在学习JavaScript中用到的示例
  17. goflyway简单使用
  18. Async/Await是这样简化JavaScript代码的
  19. [代码审计]某租车系统JAVA代码审计[前台sql注入]
  20. if结构和逻辑运算符

热门文章

  1. 我与java的故事
  2. 3.7 unittest之断言
  3. 震惊!!!源程序特征统计程序——基于python getopt库
  4. URL tomcat中文乱码
  5. java变量的自动提升与强制转换
  6. ss with kcptun
  7. leetcode 687.Longest Univalue Path
  8. webpack 学习之旅
  9. GitHub Desktop下载及使用
  10. maya模板lock工具