求一段操作数据(增删改查)的代码 求一段操作数据的代码要求是通用的,不管字段多少,数据类型、长度,单表的即可 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 增:Insert into tablename values(...)刪:Delete from Tablename where(...)改:Update Tablename Set(...) where(...)保証通用 public class Connection { private string connStr; private SqlTransaction tran; public SqlConnection conn; private SqlCommand cmd; public Connection() { connStr = ConfigurationSettings.AppSettings["ConnStr"]; conn = new SqlConnection(connStr); } /// <summary> /// 打开数据库连接 /// </summary> public void Open() { if(conn!=null) { conn.Close(); } conn.Open(); } /// <summary> /// 关闭数据库连接 /// </summary> public void Close() { if(conn!=null) { conn.Close(); } } /// <summary> /// 开始事务 /// </summary> public void TranBegin() { Open(); tran = conn.BeginTransaction(); } /// <summary> /// 回滚事务 /// </summary> public void TranRollback(){ tran.Rollback(); if (conn != null) { conn.Dispose(); // 关闭数据库 conn.Close(); // 关系数据库 } } /// <summary> /// 回滚事务到指定点 /// </summary> /// <param name="tranName">指定点</param> public void TranRollback(string tranName){ tran.Rollback(tranName); if (conn != null) { conn.Dispose(); // 关闭数据库 conn.Close(); // 关系数据库 } } /// <summary> /// 结束事务 /// </summary> public void TranEnd() { tran.Commit(); // 结束事务 if (conn != null) { conn.Dispose(); // 关闭数据库 conn.Close(); // 关系数据库 } } /// <summary> /// 根据SQL语句返回包含结果集的数据表 /// </summary> /// <param name="sql">SELECT类型的SQL语句</param> /// <returns>返回数据表</returns> public DataTable GetDataTable(string sql) { DataTable dt = new DataTable(); SqlCommand cmd = new SqlCommand(sql); cmd.Connection = conn; cmd.Transaction = tran; SqlDataAdapter da=new SqlDataAdapter(cmd); da.Fill(dt); return dt; } /// <summary> /// 根据SQL语句返回包含结果集的数据表 /// </summary> /// <param name="cmd">命令对象</param> /// <returns>返回数据表</returns> public DataTable GetDataTable(SqlCommand cmd) { cmd.Connection = conn; cmd.Transaction = tran; SqlDataAdapter da = new SqlDataAdapter(cmd); DataTable dt = new DataTable(); da.Fill(dt); return dt; } /// <summary> /// 执行UPDATE,DELETE,INSERT类型的SQL语句 /// </summary> /// <param name="sql">SQL语句</param> /// <returns>返回受影响的行数</returns> public int update(string sql) { int rs = 0; cmd=new SqlCommand(sql,conn); cmd.Transaction = tran; rs = cmd.ExecuteNonQuery(); return rs; } /// <summary> /// 执行UPDATE,DELETE,INSERT类型的SQL语句 /// </summary> /// <param name="sql">命令对象</param> /// <returns>返回受影响的行数</returns> public int update(SqlCommand cmd) { int rs = 0; cmd.Connection = conn; cmd.Transaction = tran; rs = cmd.ExecuteNonQuery(); return rs; } /// <summary> /// 返回结果集中第一行第一个,其他忽略。 /// </summary> /// <param name="sql">SQL语句</param> /// <returns>信息对象</returns> public object GetOneInfo(string sql) { object rs = null; cmd=new SqlCommand(sql,conn); cmd.Transaction = tran; rs = cmd.ExecuteScalar(); return rs; } /// <summary> /// 返回结果集中第一行第一个,其他忽略。 /// </summary> /// <param name="sql">命令对象</param> /// <returns>信息对象</returns> public object GetOneInfo(SqlCommand cmd) { object rs = null; cmd.Connection = conn; cmd.Transaction = tran; rs = cmd.ExecuteScalar(); return rs; } /// <summary> /// 返回包含结果集的阅读器 /// </summary> /// <param name="sql">SQL语句</param> /// <returns>阅读器对象</returns> public SqlDataReader GetDataReader(string sql) { cmd=new SqlCommand(sql,conn); cmd.Transaction = tran; return cmd.ExecuteReader(CommandBehavior.CloseConnection); } /// <summary> /// 返回所含结果集的数据集对像 /// </summary> /// <param name="sql">SQL语句</param> /// <returns>数据集对像</returns> public DataSet GetDataSet(string sql) { cmd = new SqlCommand(sql,conn); cmd.Transaction = tran; SqlDataAdapter sda = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); sda.Fill(ds); return ds; } /// <summary> /// 返回包含结果集的阅读器 /// </summary> /// <param name="cmd">命令对象</param> /// <returns>阅读器对象</returns> public SqlDataReader GetDataReader(SqlCommand cmd) { cmd.Connection = conn; cmd.Transaction = tran; return cmd.ExecuteReader(CommandBehavior.CloseConnection); }} "Update AD Set Position='" + Position + "',Name_='" + Name_ + "',Url='" + Url + "',Pic='" + Pic + "',Res='" + Res + "'";我不想每次都构造这样的sql语句,想做个通用的,不用管字段个数和类型 sql update 问题 请教(新浪模拟登录) 紧急求救!数据查询问题 重新布置环境后,ASP.NET运行不了。HTTP status 404: Not Found. 大家帮我看看。 每天只能搜索五次 投票的那个图是怎么弄出来的??请指点一下! |M| 在Language="vb"怎么写 C#语句啊 xml最大特点是什么? 如何获取TOOLBAR控件中的子控件 request问题 vs2005 sp1补丁的疑问 从数据库中取到客户端,验证javascript正则表达式时,转码出错(反斜线丢失),请教如何解决?
刪:Delete from Tablename where(...)
改:Update Tablename Set(...) where(...)
保証通用
private string connStr; private SqlTransaction tran; public SqlConnection conn;
private SqlCommand cmd;
public Connection() {
connStr = ConfigurationSettings.AppSettings["ConnStr"];
conn = new SqlConnection(connStr);
} /// <summary>
/// 打开数据库连接
/// </summary>
public void Open() {
if(conn!=null) {
conn.Close();
}
conn.Open();
} /// <summary>
/// 关闭数据库连接
/// </summary>
public void Close() {
if(conn!=null) {
conn.Close();
}
} /// <summary>
/// 开始事务
/// </summary>
public void TranBegin() {
Open();
tran = conn.BeginTransaction();
} /// <summary>
/// 回滚事务
/// </summary>
public void TranRollback(){
tran.Rollback();
if (conn != null) {
conn.Dispose(); // 关闭数据库
conn.Close(); // 关系数据库
}
} /// <summary>
/// 回滚事务到指定点
/// </summary>
/// <param name="tranName">指定点</param>
public void TranRollback(string tranName){
tran.Rollback(tranName);
if (conn != null) {
conn.Dispose(); // 关闭数据库
conn.Close(); // 关系数据库
}
} /// <summary>
/// 结束事务
/// </summary>
public void TranEnd() {
tran.Commit(); // 结束事务
if (conn != null) {
conn.Dispose(); // 关闭数据库
conn.Close(); // 关系数据库
}
} /// <summary>
/// 根据SQL语句返回包含结果集的数据表
/// </summary>
/// <param name="sql">SELECT类型的SQL语句</param>
/// <returns>返回数据表</returns>
public DataTable GetDataTable(string sql) {
DataTable dt = new DataTable();
SqlCommand cmd = new SqlCommand(sql);
cmd.Connection = conn;
cmd.Transaction = tran;
SqlDataAdapter da=new SqlDataAdapter(cmd);
da.Fill(dt);
return dt;
} /// <summary>
/// 根据SQL语句返回包含结果集的数据表
/// </summary>
/// <param name="cmd">命令对象</param>
/// <returns>返回数据表</returns>
public DataTable GetDataTable(SqlCommand cmd) {
cmd.Connection = conn;
cmd.Transaction = tran;
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
return dt;
} /// <summary>
/// 执行UPDATE,DELETE,INSERT类型的SQL语句
/// </summary>
/// <param name="sql">SQL语句</param>
/// <returns>返回受影响的行数</returns>
public int update(string sql) {
int rs = 0;
cmd=new SqlCommand(sql,conn);
cmd.Transaction = tran;
rs = cmd.ExecuteNonQuery();
return rs;
} /// <summary>
/// 执行UPDATE,DELETE,INSERT类型的SQL语句
/// </summary>
/// <param name="sql">命令对象</param>
/// <returns>返回受影响的行数</returns>
public int update(SqlCommand cmd) {
int rs = 0;
cmd.Connection = conn;
cmd.Transaction = tran;
rs = cmd.ExecuteNonQuery();
return rs;
}
/// <summary>
/// 返回结果集中第一行第一个,其他忽略。
/// </summary>
/// <param name="sql">SQL语句</param>
/// <returns>信息对象</returns>
public object GetOneInfo(string sql) {
object rs = null;
cmd=new SqlCommand(sql,conn);
cmd.Transaction = tran;
rs = cmd.ExecuteScalar();
return rs;
} /// <summary>
/// 返回结果集中第一行第一个,其他忽略。
/// </summary>
/// <param name="sql">命令对象</param>
/// <returns>信息对象</returns>
public object GetOneInfo(SqlCommand cmd) {
object rs = null;
cmd.Connection = conn;
cmd.Transaction = tran;
rs = cmd.ExecuteScalar();
return rs;
} /// <summary>
/// 返回包含结果集的阅读器
/// </summary>
/// <param name="sql">SQL语句</param>
/// <returns>阅读器对象</returns>
public SqlDataReader GetDataReader(string sql) {
cmd=new SqlCommand(sql,conn);
cmd.Transaction = tran;
return cmd.ExecuteReader(CommandBehavior.CloseConnection);
}
/// <summary>
/// 返回所含结果集的数据集对像
/// </summary>
/// <param name="sql">SQL语句</param>
/// <returns>数据集对像</returns>
public DataSet GetDataSet(string sql) {
cmd = new SqlCommand(sql,conn);
cmd.Transaction = tran;
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
sda.Fill(ds);
return ds;
} /// <summary>
/// 返回包含结果集的阅读器
/// </summary>
/// <param name="cmd">命令对象</param>
/// <returns>阅读器对象</returns>
public SqlDataReader GetDataReader(SqlCommand cmd) {
cmd.Connection = conn;
cmd.Transaction = tran;
return cmd.ExecuteReader(CommandBehavior.CloseConnection);
}
}
我不想每次都构造这样的sql语句,想做个通用的,不用管字段个数和类型