发布一个数据操作底层类

我对这个类不是很满意,如果你有改进意见请联系我,不胜感激.

主要将对数据库的操作简单封装了一下

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Configuration;
using System.Data.SqlClient;

namespace Addr.Admin.ExecuteSqlCommand
{
 ///


 /// ExecuteCommand 的摘要说明:数据处理层。
 ///

 public class ExecuteCommand
 {
  string cnStr;
  string errorMessage="";
  bool successful=true;
  //构造函数将连接字符串赋给变量
  public ExecuteCommand()
  {
   //
   // TODO: 在此处添加构造函数逻辑
   //
   cnStr=ConfigurationSettings.AppSettings["cn"];
  }
  //枚举执行sqlcommand的类型
  public enum cmdType
  {
   ExecuteNonQuery=1,
   ExecuteScalar,
   ExecuteReader,
   ExecuteDataSet,
   ExecuteID
  };
  //返回是否执行成功的属性
  public bool rlt
  {
   get
   {
    return successful;
   }
  }
  //返回错误信息
  public string msg
  {
   get
   {
    return errorMessage;
   }
  }
  //执行命令的函数
  public object Executing(SqlCommand cm,cmdType type)
  {
   SqlConnection cn;
   try
   {
    cn=new SqlConnection(cnStr);
    cn.Open();
    cm.Connection=cn;

    switch(type)
    {
     case cmdType.ExecuteNonQuery:
      try
      {
       cm.ExecuteNonQuery();
       cn.Close();
      }
      catch(Exception ex)
      {
       errorMessage="Error executing 'ExecuteNonQuery'."+ex.Message;
       successful=false;
      }
      break;
     case cmdType.ExecuteReader:
      try
      {
       SqlDataAdapter da=new SqlDataAdapter(cm.CommandText,cn);
       DataSet ds=new DataSet();
       da.Fill(ds,"First");
       da.Dispose();
       cn.Close();
       return ds.Tables["First"];
      }
      catch
      {
       errorMessage="Error executing 'ExecuteReader'.";
       successful=false;
      }
      break;
     case cmdType.ExecuteScalar:
      try
      {
       int result=(int)cm.ExecuteScalar();
       cn.Close();
       return result;
      }
      catch
      {
       errorMessage="Error executing 'ExecuteScalar'.'";
       successful=false;
      }
      break;
     case cmdType.ExecuteDataSet:
      try
      {
       SqlDataAdapter da=new SqlDataAdapter(cm.CommandText,cn);
       DataSet ds=new DataSet();
       da.Fill(ds);
       cn.Close();
       return ds;
      }
      catch
      {
       errorMessage="Error executing 'ExecuteDataSet'.";
       successful=false;
      }
      break;
     case cmdType.ExecuteID:
      try
      {
       string rst="";
       SqlDataReader dr=cm.ExecuteReader();
       if(dr.Read())
       {
        rst=dr["ID"].ToString();
       }
       dr.Close();
       cn.Close();
       return rst;
      }
      catch
      {
       errorMessage="Error executing 'ExecuteID'.";
       successful=false;
      }
      break;
     default:
      errorMessage="Error executing unknown sqlcommand.";
      successful=false;
      break;
    }
    return successful;
   }
   catch
   {
    successful=false;
    errorMessage="Error opening data connection.";
    return successful;
   }
  }
 }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值