新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 软件开发 > .Net开发 > Asp.net教程 > 正文:一个数据操作底层类

一个数据操作底层类

新客网 XKER.COM 2004-09-23 来源: 收藏本文
我对这个类不是很满意,如果你有改进意见请联系我,不胜感激.

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

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



收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
随机推荐
实用信息推荐