public classsqlserver : IDataBase

{internalSqlConnection Link;publicsqlserver()

{

}public sqlserver(stringConnectionStrings)

{this.Link = null;

CreateDataBaseByConnectionStringsName(ConnectionStrings);

}///

///创建数据库连接,传入配置文件字段名///

/// 数据库配置字段

///

private void CreateDataBaseByConnectionStringsName(stringConnectionStringsName)

{

SqlConnection link= newSqlConnection();string ConnectionStrings =ConfigurationManager.ConnectionStrings[ConnectionStringsName].ToString();

link.ConnectionString=ConnectionStrings;try{

link.Open();this.Link =link;

}catch (Exception e) { throw newException(e.Message); }

}public voidCloseDataBase(System.Data.Common.DbConnection Link)

{

SqlConnection Link_=(SqlConnection)Link;if (Link_ != null && Link_.State ==ConnectionState.Open)

{

Link_.Close();

}

}public System.Data.Common.DbCommand GetSqlStringCommand(stringquery)

{

SqlCommand cmd= null;if (Link != null && query != "")

cmd= newSqlCommand(query, Link);returncmd;

}public void AddInParameter(System.Data.Common.DbCommand cmd, string ParmsName, System.Data.DbType ParmsType, objectvalue)

{try{

SqlParameter parameter= newSqlParameter(ParmsName, ParmsType);

parameter.Direction=ParameterDirection.Input;if (value == null)

parameter.Value=DBNull.Value;elseparameter.Value=value;

cmd.Parameters.Add(parameter);

}catch (Exception e) { throw newException(e.Message); }

}publicSystem.Data.DataSet ExecuteDataSet(System.Data.Common.DbCommand cmd_)

{

DataSet ds= null;

SqlCommand cmd= cmd_ asSqlCommand;try{

SqlDataAdapter adapter= newSqlDataAdapter(cmd);

ds= newDataSet();

adapter.Fill(ds);

cmd.Parameters.Clear();

}catch (Exception e) { throw newException(e.Message); }returnds;

}public intExecuteNonQuery(System.Data.Common.DbCommand cmd)

{int returnCount = 0;try{

returnCount=cmd.ExecuteNonQuery();

}catch (Exception e) { throw newException(e.Message); }returnreturnCount;

}///

///创建 DbType 类型///

/// System数据类型

///

privateDbType BuildDbType(Type t)

{switch(t.Name)

{case "Byte":returnDbType.Byte;case "Byte[]":returnDbType.Binary;case "Int32":returnDbType.Int32;case "Int64":returnDbType.Int64;case "UInt16":returnDbType.UInt16;case "UInt32":returnDbType.UInt32;case "UInt64":returnDbType.UInt64;case "Decimal":returnDbType.Decimal;case "Double":returnDbType.Double;case "Guid":returnDbType.Guid;case "Xml":returnDbType.Xml;case "Object":returnDbType.Binary;case "Boolean":returnDbType.Boolean;case "String":returnDbType.String;case "DateTime":returnDbType.DateTime;default:returnDbType.String;

}

}public void AddOutParameter(System.Data.Common.DbCommand cmd, string ParmsName, DbType ParmsType, objectvalue)

{try{

SqlParameter parameter= newSqlParameter(ParmsName, ParmsType);

parameter.Direction=ParameterDirection.Output;if (value == null)

parameter.Value=DBNull.Value;elseparameter.Value=value;

cmd.Parameters.Add(parameter);

}catch (Exception e) { throw newException(e.Message); }

}public System.Data.Common.DbCommand GetStoredProcCommand(stringProcName)

{

SqlCommand cmd= null;if (Link != null && ProcName != "")

{

cmd= newSqlCommand(ProcName, Link);

cmd.CommandType=CommandType.StoredProcedure;

}returncmd;

}public object GetParameterValueOrKeyValue(System.Data.Common.DbCommand cmd, string ParmsName = "")

{

Dictionary dic = null;try{

dic= new Dictionary();foreach (SqlParameter parameter incmd.Parameters)

{if (parameter.Direction ==ParameterDirection.Output)

{

dic.Add(parameter.ParameterName, parameter.Value);

}

}if (dic != null && dic.Count > 0)

{if (ParmsName != "" &&dic.ContainsKey(ParmsName))returndic[ParmsName];

}elsedic= null;

}catch (Exception e) { throw newException(e.Message); }returndic;

}

}//end

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐