电信主站 网通分站
购买流程 付款方式 常见问题 在线提问 续租服务 购物车
用户名: 密 码: 忘记密码?
首 页
域名注册
虚拟主机
双线主机
服务器租用
VPS主机
企业邮局
代理专区
客服中心
虚拟主机行业资讯 虚拟主机评测对比 互联网最新动态 技术学院 站长资讯 在线教程 网站运营
搜索优化 服务器 网络编程 图形图象 站长之家 网页制作 操作系统
冲浪宝典 软件教学 视频通信 办公软件 邮件系统 网络安全 认证考试
您当前位置:西部数码->资讯中心-> 在线教程-> 数据库
封装的ADO.NET对数据库操作经典类-.NET教程,数据库应用
作者:网友供稿 点击:155
  西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!虚拟主机可在线rar解压,自动数据恢复设置虚拟目录等.虚拟主机免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金!
文章页数:[1] 
 

using system;
using system.collections;
using system.collections.specialized;
using system.runtime.remoting.messaging;
using system.data;
using system.data.sqlclient;
using system.configuration;
namespace ltp.sqlserverdal
{
 /// <summary>
 /// ado.net数据库操作基础类。
 /// </summary>
 public abstract class dbmanagersql
 {
  //数据库连接字符串
  protected static string connectionstring = configurationsettings.appsettings["connectionstring"]; 
  public dbmanagersql()
  {
   //
   // todo: 在此处添加构造函数逻辑
   //
  }
  /// <summary>
  /// 执行sql语句,返回影响的记录数
  /// </summary>
  /// <param name="sqlstring"></param>
  /// <returns></returns>
  public static int executesql(string sqlstring)
  {
   using (sqlconnection connection = new sqlconnection(connectionstring))
   {    
    using (sqlcommand cmd = new sqlcommand(sqlstring,connection))
    {
     try
     {  
      connection.open();
      int rows=cmd.executenonquery();
      return rows;
     }
     catch(system.data.sqlclient.sqlexception e)
     {    
      throw new exception(e.message);
     }
    }    
   }
  }
  /// <summary>
  /// 执行两条sql语句,实现数据库事务。
  /// </summary>
  /// <param name="sqlstring1"></param>
  /// <param name="sqlstring2"></param>
  public static void executesqltran(string sqlstring1,string sqlstring2)
  {
   using (sqlconnection connection = new sqlconnection(connectionstring))
   {
    connection.open();
    sqlcommand cmd = new sqlcommand();
    cmd.connection=connection;    
    sqltransaction tx=connection.begintransaction();   
    cmd.transaction=tx;    
    try
    {     
     cmd.commandtext=sqlstring1;
     cmd.executenonquery();
     cmd.commandtext=sqlstring2;
     cmd.executenonquery();     
     tx.commit();     
    }
    catch(system.data.sqlclient.sqlexception e)
    {  
     tx.rollback();
     throw new exception(e.message);
    }
    finally
    {
     cmd.dispose();
     connection.close();
    } 
   }
  } 
  /// <summary>
  /// 执行多条sql语句,实现数据库事务,每条语句以“;”分割。
  /// </summary>
  /// <param name="sqlstringlist"></param>
  public static void executesqltran(string sqlstringlist)
  {
   using (odbcconnection conn = new odbcconnection(connectionstring))
   {
    conn.open();
    odbccommand cmd = new odbccommand();
    cmd.connection=conn;    
    odbctransaction tx=conn.begintransaction();   
    cmd.transaction=tx;    
    try
    {  
     string [] split= sqlstringlist.split(new char [] { ;});
     foreach (string strsql in split)
     {
      if (strsql.trim()!="")
      {
       cmd.commandtext=strsql;
       cmd.executenonquery();
      }
     }       
     tx.commit();     
    }
    catch(system.data.odbc.odbcexception e)
    {  
     tx.rollback();
     throw new exception(e.message);
    }
   }
  }
  /// <summary>
  /// 执行带一个存储过程参数的的sql语句。
  /// </summary>
  /// <param name="sqlstring"></param>
  /// <param name="content"></param>
  /// <returns></returns>
  public static int executesql(string sqlstring,string content)
  {    
   using (sqlconnection connection = new sqlconnection(connectionstring))
   {
    sqlcommand cmd = new sqlcommand(sqlstring,connection);  
    system.data.sqlclient.sqlparameter  myparameter = new system.data.sqlclient.sqlparameter ( "@content", sqldbtype.ntext);
    myparameter.value = content ;
    cmd.parameters.add(myparameter);
    try
    {
     connection.open();
     int rows=cmd.executenonquery();
     return rows;
    }
    catch(system.data.sqlclient.sqlexception e)
    {    
     throw new exception(e.message);
    }
    finally
    {
     cmd.dispose();
     connection.close();
    } 
   }
  }  
  /// <summary>
  /// 向数据库里插入图像格式的字段
  /// </summary>
  /// <param name="strsql"></param>
  /// <param name="fs"></param>
  /// <returns></returns>
  public static int executesqlinsertimg(string strsql,byte[] fs)
  {  
   using (sqlconnection connection = new sqlconnection(connectionstring))
   {
    sqlcommand cmd = new sqlcommand(strsql,connection); 
    system.data.sqlclient.sqlparameter  myparameter = new system.data.sqlclient.sqlparameter ( "@fs", sqldbtype.image);
    myparameter.value = fs ;
    cmd.parameters.add(myparameter);
    try
    {
     connection.open();
     int rows=cmd.executenonquery();
     return rows;
    }
    catch(system.data.sqlclient.sqlexception e)
    {    
     throw new exception(e.message);
    }
    finally
    {
     cmd.dispose();
     connection.close();
    } 
    
   }
  }
  /// <summary>
  /// 执行一条计算查询结果语句,返回查询结果(整数)。
  /// </summary>
  /// <param name="strsql"></param>
  /// <returns></returns>
  public static int getcount(string strsql)
  {
   using (sqlconnection connection = new sqlconnection(connectionstring))
   {
    sqlcommand cmd = new sqlcommand(strsql,connection);    
    try
    {
     connection.open();
     sqldatareader result = cmd.executereader();
     int i=0;
     while(result.read())
     {
      i=result.getint32(0);
     }
     result.close();    
     return i;
    }
    catch(system.data.sqlclient.sqlexception e)
    {        
     throw new exception(e.message);
    } 
    finally
    {
     cmd.dispose();
     connection.close();
    }
   }
  } 
  /// <summary>
  /// 执行一条计算查询结果语句,返回查询结果(object)。
  /// </summary>
  /// <param name="sqlstring"></param>
  /// <returns></returns>
  public static object getsingle(string sqlstring)
  {
   using (sqlconnection connection = new sqlconnection(connectionstring))
   {
    sqlcommand cmd = new sqlcommand(sqlstring,connection);  
    try
    {
     connection.open();
     object obj = cmd.executescalar();
     if((object.equals(obj,null))||(object.equals(obj,system.dbnull.value)))
     {     
      return null;
     }
     else
     {
      return obj;
     }    
    }
    catch(system.data.sqlclient.sqlexception e)
    {    
     throw new exception(e.message);
    }
    finally
    {
     cmd.dispose();
     connection.close();
    }
   }
  }
  /// <summary>
  /// 执行查询语句,返回sqldatareader
  /// </summary>
  /// <param name="strsql"></param>
  /// <returns></returns>
  public static sqldatareader executereader(string strsql)
  {
   using (sqlconnection connection = new sqlconnection(connectionstring))
   {
    sqlcommand cmd = new sqlcommand(strsql,connection); 
    sqldatareader myreader;   
    try
    {
     connection.open(); 
     myreader = cmd.executereader();
     return myreader;
    }
    catch(system.data.sqlclient.sqlexception e)
    {        
     throw new exception(e.message);
    }  
    finally
    {
     cmd.dispose();
     connection.close();
    } 
   }
  }  
  /// <summary>
  /// 执行查询语句,返回dataset
  /// </summary>
  /// <param name="sqlstring"></param>
  /// <returns></returns>
  public static dataset query(string sqlstring)
  {
   using (sqlconnection connection = new sqlconnection(connectionstring))
   {
    dataset ds = new dataset();
    try
    {
     connection.open();
     sqldataadapter command = new sqldataadapter(sqlstring,connection);    
     command.fill(ds,"ds");
    }
    catch(system.data.sqlclient.sqlexception ex)
    {    
     throw new exception(ex.message);
    }   
    return ds;
   }
   
  }


  #region 存储过程操作

  /// <summary>
  /// 运行存储过程
  /// </summary>
  /// <param name="storedprocname"></param>
  /// <param name="parameters"></param>
  /// <returns></returns>
  public static sqldatareader runprocedure(string storedprocname, idataparameter[] parameters )
  {
   using (sqlconnection connection = new sqlconnection(connectionstring))
   {
    sqldatareader returnreader;
    connection.open();
    sqlcommand command = buildquerycommand( connection,storedprocname, parameters );
    command.commandtype = commandtype.storedprocedure;

    returnreader = command.executereader();
    //connection.close();
    return returnreader;
   }
  }
  private static sqlcommand buildquerycommand(sqlconnection connection,string storedprocname, idataparameter[] parameters)
  {
   
    sqlcommand command = new sqlcommand( storedprocname, connection );
    command.commandtype = commandtype.storedprocedure;
    foreach (sqlparameter parameter in parameters)
    {
     command.parameters.add( parameter );
    }
    return command;
   
  }  
  public static dataset runprocedure(string storedprocname, idataparameter[] parameters, string tablename )
  {
   using (sqlconnection connection = new sqlconnection(connectionstring))
   {
    dataset dataset = new dataset();
    connection.open();
    sqldataadapter sqlda = new sqldataadapter();
    sqlda.selectcommand = buildquerycommand(connection, storedprocname, parameters );
    sqlda.fill( dataset, tablename );
    connection.close();

    return dataset;
   }
  }

  #endregion 
 }
}



文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
相关主题
文章页数:[1] 
Google
热门文章
·数据库开发个人总结(ADO.NET小结)-.NET教程,数据库应用
·怎么由DataSet将数据导入Excel?-.NET教程,数据库应用
·动态创建SQL Server数据库、表、存储过程-ASP教程,数据库相关
·Win32环境下动态链接库(DLL)编程原理-.NET教程,数据库应用
·封装的ADO.NET对数据库操作经典类-.NET教程,数据库应用
·在DataGridView中获得DataGridViewCheckBoxColumn的状态-ASP教程,数据库相关
·DataGrid使用心得(附大量代码)-ASP教程,数据库相关
·用代码创建DataGrid的多链接及checkbox事件响应-.NET教程,数据库应用
·ADO.NET 的最佳实践技巧-.NET教程,数据库应用
·转载: 用纯ASP代码实现图片上传并存入数据库中

最新文章
·根据数据表中数据,生成Powerpoint幻灯片-ASP教程,数据库相关
·DataGrid中的按钮反选事件与NamingContainer(命名容器)-downmoon-ASP教程,数据库相关
·使用用VB处理MYSQL数据库中二进制数据问题-.NET教程,VB.Net语言
·关于DataGridView中如何接收处于编辑状态下的当前信息-ASP教程,数据库相关
·在DataGridView中获得DataGridViewCheckBoxColumn的状态-ASP教程,数据库相关
·.net下访问Access数据库需要注意的问题-.NET教程,Asp.Net开发
·ActiveMQ4.1+Spring2.0的POJO JMS方案(上)-.NET教程,数据库应用
·ASP.NET 2.0中直接将Access数据库导入到Excel文件中-.NET教程,Asp.Net开发
·NET(C#)连接各类数据库-集锦-.NET教程,C#语言
·ASP.NET2.0连接SQL Server数据库详解-.NET教程,Asp.Net开发


 
 


版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!

特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
  打印  刷新  关闭
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 虚拟主机 | 资讯中心 | 友情链接 | 网站地图

版权所有 西部数码(www.west263.com)
CopyRight (c) 2002~2006 west263.com all right reserved.
公司地址:四川成都市万和路90号天象大厦4楼 邮编:610031
电话总机:028-86262244 86263048 86263408 86263960 86264018 86267838
售前咨询:总机转201 202 203 204 206 208
售后服务:总机转211 212 213 214
财务咨询:总机转224 223 传真:028-86264041 财务QQ:点击发送消息给对方635483282
售前咨询QQ:点击发送消息给对方2182518 点击发送消息给对方241975952 点击发送消息给对方275026793 点击发送消息给对方408235859
售后服务QQ:点击发送消息给对方17708515 点击发送消息给对方307742704 点击发送消息给对方287976517 点击发送消息给对方363783715
《中华人民共和国增值电信业务经营许可证》编号:川B2-20030065号