我对这个类不是很满意,如果你有改进意见请联系我,不胜感激.
主要将对数据库的操作简单封装了一下
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;
}
}
}
}