我對這個類不是很滿意,如果你有改進意見請聯繫我,不勝感激.
主要將對數據庫的操作簡單封裝了一下
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;
}
}
}
}