发布一个数据操作底层类

原创 2004年09月20日 21:25:00

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

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

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;
   }
  }
 }
}

Redis的五种对象类型及其底层实现

Redis对象类型简介 Redis是一种key/value型数据库,其中,每个key和value都是使用对象表示的。比如,我们执行以下代码: redis>SET message "hello ...
  • caishenfans
  • caishenfans
  • 2015年04月01日 16:19
  • 18535

C++底层数据结构的实现原理

转载自:http://www.cnblogs.com/hustlijian/p/3611424.html C++ STL 的实现:1.vector 底层数据结构为数组 ,支持快速随机访问2...
  • deyuzhi
  • deyuzhi
  • 2016年08月21日 09:23
  • 1218

数据库访问抽象层系列-1(介绍数据库编程接口及数据库访问抽象层概念)

摘要 本人最近完成了一个封装数据库访问抽象层的项目。我们开发的数据库访问抽象层作为分布式集群基础平台的一个组件。可以支持不同数据库编程接口(OCI、mysql、ODBC、pgsql)等。本系列博...
  • bobkentblog
  • bobkentblog
  • 2015年04月15日 10:37
  • 2288

面向对象的故事~数据底层操作告诉了我们接口,抽象类,继承与多态性的使用

这个问题困扰了我很久,很觉得设计的不完善,终于在今天把它彻底解决了,其实就是一个C#里的基础知识问题,主要涉及到了,接口,抽象类,接口继承,类继承,多态等知识。 事件是这样的,我有一个统一接口规...
  • jiangfei009003
  • jiangfei009003
  • 2012年07月01日 20:36
  • 413

jQuery数据篇-底层函数队列操作

jQuery.queue( element [, queueName] ) 显示在匹配元素上将要被执行的函数队列。 jQuery.queue(element[,queueName]) eleme...
  • ahuter9
  • ahuter9
  • 2013年01月03日 15:31
  • 430

【GOF23设计模式】_备忘录模式_多点备忘_事务操作_回滚数据底层架构JAVA253

来源:http://www.bjsxt.com/ 一、S03E253_01【GOF23设计模式】_备忘录模式、多点备忘、事务操作、回滚数据底层架构package com.test.memento; ...
  • u013292493
  • u013292493
  • 2016年07月02日 17:34
  • 353

ava中一些容器底层的数据结构解析 先来看一个java里一些主要容器的继承图:

ava中一些容器底层的数据结构解析        先来看一个java里一些主要容器的继承图:   然后分别解析一下上面几种容器底层的数据结构以及一些实现:...
  • qq_35586932
  • qq_35586932
  • 2017年10月31日 08:57
  • 47

7.zookeeper原理解析-序列化之底层通信数据封装与操作

BinaryInputArchive& BinaryOutputArchive底层通信数据封装与操作     BinaryInputArchive是对于Da...
  • u010311445
  • u010311445
  • 2015年05月11日 19:54
  • 2049

Hive配置+haddop为底层存储系统+远程mysql+简单的hive数据操作(详细哦)

Hive配置+haddop为底层存储系统+mysql存储元数据+简单的hive数据操作(详细哦) 说明: 关于hadoop集群、habse集群配置...
  • u010442404
  • u010442404
  • 2014年05月06日 19:19
  • 853

一个很好用的数据操作的类

  • 2010年07月22日 13:06
  • 215KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:发布一个数据操作底层类
举报原因:
原因补充:

(最多只允许输入30个字)