asp.net(C#)批量更新问题 把DataSet放在ViewState或Session里,每次增、删、改(注意用代码,不要用DataSource控件)操作完成后再更新ViewState或Session里的DataSet。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 批量更新类,关键语句红色标识出来了。转自下面网站,allen_21229的代码http://dev.csdn.net/article/75/75827.shtmusing System;using System.Data;using System.Data.SqlClient;using System.Windows.Forms;namespace winApplication{ public class sqlAccess { //与SQL Server的连接字符串设置 private string _connString; private string _strSql; private SqlCommandBuilder sqlCmdBuilder; private DataSet ds = new DataSet(); private SqlDataAdapter da; public sqlAccess(string connString,string strSql) { this._connString=connString; } private SqlConnection GetConn() { try { SqlConnection Connection = new SqlConnection(this._connString); Connection.Open(); return Connection; } catch (Exception ex) { MessageBox.Show(ex.Message,"数据库连接失败"); throw; } } //根据输入的SQL语句检索数据库数据 public DataSet SelectDb(string strSql,string strTableName) { try { this._strSql = strSql; this.da = new SqlDataAdapter(this._strSql,this.GetConn()); this.ds.Clear(); this.da.Fill(ds,strTableName); return ds;//返回填充了数据的DataSet,其中数据表以strTableName给出的字符串命名 } catch (Exception ex) { MessageBox.Show(ex.Message,"数据库操作失败"); throw; } } //数据库数据更新(传DataSet和DataTable的对象) public DataSet UpdateDs(DataSet changedDs,string tableName) { try { this.da = new SqlDataAdapter(this._strSql,this.GetConn()); this.sqlCmdBuilder = new SqlCommandBuilder(da); this.da.Update(changedDs,tableName); changedDs.AcceptChanges(); return changedDs;//返回更新了的数据库表 } catch (Exception ex) { MessageBox.Show(ex.Message,"数据库更新失败"); throw; } }使用说明总结:1. GetConn方法创建一个数据库连接,返回SqlConnection。2.使用的select命令中必须包含主键,这点大家都知道的!3. this.da.Fill(ds,strTableName) 填充数据集4.构造CommandBuilder对象时,将DataAdapter对象作为构造函数参数传入: this.sqlCmdBuilder = new SqlCommandBuilder(da);5. 在调用UpdateDs()更新数据库前,请检查changedDs是否已经被更新过,用changedDs.[tableName] GetChanges() != null;6.用this.da.Update(changedDs,tableName)方法更新数据,然后调用changedDs.AcceptChanges()才能真正的更新数据库,调用 changedDs.RejectChanges() 取消更新。 关键语句 this.da.Update(changedDs,tableName); 干脆直接操作DataGrid,保存时遍历DataGrid的结果还好一点 把DataSet放在ViewState或Session里,每次增、删、改(注意用代码,不要用DataSource控件)操作完成后再更新ViewState或Session里的DataSet3楼的可以改一下 用户在线的功能怎样实现 Ajax.BeginForm 提交后不在指定ID的元素中显示结果 求编程方法 .net动态网站与静态网站切换的问题 高分请教批量修改的问题 Asp.Net(VB)中使用iframe调用的问题,简单问题为了尽快解决特给100分,请高人来详细指教,解决马上给分 一个概念问题 解决方案在不同vs版本中打开 求VS.net2003下载地址 IIS网站发布 ASP查询大型数据库出错,请高手指点! 根据数据库批量修改文件名
转自下面网站,allen_21229的代码
http://dev.csdn.net/article/75/75827.shtm
using System;
using System.Data;
using System.Data.SqlClient;
using System.Windows.Forms;
namespace winApplication
{
public class sqlAccess
{
//与SQL Server的连接字符串设置
private string _connString;
private string _strSql;
private SqlCommandBuilder sqlCmdBuilder;
private DataSet ds = new DataSet();
private SqlDataAdapter da;
public sqlAccess(string connString,string strSql)
{
this._connString=connString;
}
private SqlConnection GetConn()
{
try
{
SqlConnection Connection = new SqlConnection(this._connString);
Connection.Open();
return Connection;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message,"数据库连接失败");
throw;
}
}
//根据输入的SQL语句检索数据库数据
public DataSet SelectDb(string strSql,string strTableName)
{
try
{
this._strSql = strSql;
this.da = new SqlDataAdapter(this._strSql,this.GetConn());
this.ds.Clear();
this.da.Fill(ds,strTableName);
return ds;//返回填充了数据的DataSet,其中数据表以strTableName给出的字符串命名
}
catch (Exception ex)
{
MessageBox.Show(ex.Message,"数据库操作失败");
throw;
}
}
//数据库数据更新(传DataSet和DataTable的对象) public DataSet UpdateDs(DataSet changedDs,string tableName)
{
try
{
this.da = new SqlDataAdapter(this._strSql,this.GetConn());
this.sqlCmdBuilder = new SqlCommandBuilder(da);
this.da.Update(changedDs,tableName);
changedDs.AcceptChanges();
return changedDs;//返回更新了的数据库表
}
catch (Exception ex)
{
MessageBox.Show(ex.Message,"数据库更新失败");
throw;
}
}
使用说明总结:
1. GetConn方法创建一个数据库连接,返回SqlConnection。
2.使用的select命令中必须包含主键,这点大家都知道的!
3. this.da.Fill(ds,strTableName) 填充数据集
4.构造CommandBuilder对象时,将DataAdapter对象作为构造函数参数传入:
this.sqlCmdBuilder = new SqlCommandBuilder(da);
5. 在调用UpdateDs()更新数据库前,请检查changedDs是否已经被更新过,用changedDs.[tableName] GetChanges() != null;
6.用this.da.Update(changedDs,tableName)方法更新数据,然后调用changedDs.AcceptChanges()才能真正的更新数据库,调用 changedDs.RejectChanges() 取消更新。
this.da.Update(changedDs,tableName);