发布一个数据操作底层类

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

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

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

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;

???}

??}

?}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航