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