简单实用的DataSet更新数据库的类+总结(c#)
2014-10-18 08:21
435 查看
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() 取消更新。
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() 取消更新。
相关文章推荐
- 简单实用的DataSet更新数据库的类+总结(c#)
- 简单实用的DataSet更新数据库的类+总结(c#)
- 简单实用的DataSet更新数据库的类+总结(c#)
- 简单实用的DataSet更新数据库的类+总结(c#)
- 简单实用的DataSet更新数据库的类+总结(c#)
- 简单实用的DataSet更新数据库的类+总结(c#)
- 简单实用的DataSet更新数据库的类+总结(c#) 选择自 allen_21229 的 Blog
- 简单实用的DataSet更新数据库的类+总结(c#)
- 简单实用的DataSet更新数据库的类+总结(c#)
- 简单实用的DataSet更新数据库的类+总结(c#)
- 简单实用的DataSet更新数据库的类+总结(c#)
- 简单实用的DataSet更新数据库的类+总结(转~给懒得写sp的人)
- [转]简单实用的DataSet更新数据库的类+总结
- 使用 DataAdapter 和 DataSet 更新数据库 [C#]
- DataSet更新到数据库总结
- C#操作数据库,DataSet,DataGridView,更新数据库 [一] - ADO.NET入门之中
- C#与数据库访问技术总结(十六)之 DataSet对象
- 如何使用 Visual C# .NET 从 DataSet 对象更新数据库
- C#使用DataSet Datatable更新数据库的三种实现方法
- 一个简单实用的“数据库访问层”!(基于C#语言)