SQL语句执行组件

  
一、SQL语句执行组件:
1、 用组件实现的原因
在原有项目中包含着大量的重复代码,只是在连接数据库上用了一个连接类,考虑到功能性,实现松耦合的软件编程思想,故将SQL语句的执行用组件实现,也实现了类似项目的代码重用性。
2、 该组件包含的功能
(1) 能在执行SQL语句之前自动连接数据库,进行按需连接,当执行完SQL语句后,自动关闭连接。
(2) 能执行INSERT,UPDATE,DELETE功能的操作。
(3) 能执行返回结果为RESULT,STRING,INT三种类型的SELECT语句。
(4) 插入、删除、更新三种功能用一个插删改方法实现,避免不同功能的繁琐的方法调用。
(5) 对不同返回值的查询语句的调用,用函数重载实现,使得所有查询均用同一函数实现。
3、 组件实现
   public class SQLExecute:ServicedComponent
     {
          SqlConnection conn;     
         public SQLExecute()
         {
              conn=new SqlConnection("server=.;database=eshop;uid=pang2;pwd=123");
         }
         public void InsDelUpd(string sqlstr)
         {
              try
              {
                   conn.Open();
                   SqlCommand cmd1=new SqlCommand(sqlstr,conn);
                   cmd1.ExecuteNonQuery();
                   conn.Close();
         }
         catch
         {
              return e.Errors.ToString();         
         }
          }
         public DataSet SelSql(string sqlstr,DataSet ds)
         {
              try
         {
                   conn.Open();
                   SqlDataAdapter sda=new SqlDataAdapter(sqlstr,conn);
                   DataSet ds1=new DataSet();            
                   sda.Fill(ds1,"t1");
                   conn.Close();
                   return ds1;
         }
         catch
         {
              //
         }
         }
         public string SelSql(string sqlstr,string str)
         {
              try
              {
                   conn.Open();
                   SqlCommand cmd1=new SqlCommand(sqlstr,conn);
                   str=(cmd1.ExecuteScalar()).ToString();
                   conn.Close();
                   return str;
         }
         catch
         {
              //
         }
         }
         public int SelSql(string sqlstr,int i)
         {
              try
              {
                   conn.Open();
                   SqlCommand cmd1=new SqlCommand(sqlstr,conn);
                   i=System.Convert.ToInt32(cmd1.ExecuteScalar());
                   conn.Close();
                   return i;
         }
         catch
         {
              //
         }
         }
     }
4、 不足之处:
(1) SQL语句的使用范围还有局限性。
SQL语句是相当灵活的,本组件并不是对所有的SQL语句都适用,只是对一些常用SQL语句的执行提供了支持。
(2) SELECT语句的执行方法还有待更完善。
为了实现函数重载,不得不使得每个 SELSQL 方法的参数均有所不同,添加了不同的标识参数,如 SELSQL STRING SQLSTR INT I )中,参数 I 就标识该方法返回整数型, I 参数的数据是多少都无所谓。虽然功能上没有任何问题,但从组件易用性方面来讲还需进一步完善。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值