using System;
using System.Collections;
using System.Collections.Specialized;
using System.Runtime.Remoting.Messaging;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
namespace LTP.SQLServerDAL
{
/// <summary>
/// ADO.NET数据库操作基础类。
/// </summary>
public abstract class DbManagerSQL
{
//数据库连接字符串
protected static string connectionString = ConfigurationSettings.AppSettings["ConnectionString"];
public DbManagerSQL()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
/// <summary>
/// 执行SQL语句,返回影响的记录数
/// </summary>
/// <param name="SQLString"></param>
/// <returns></returns>
public static int ExecuteSql(string SQLString)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
using (SqlCommand cmd = new SqlCommand(SQLString,connection))
{
try
{
connection.Open();
int rows=cmd.ExecuteNonQuery();
return rows;
}
catch(System.Data.SqlClient.SqlException E)
{
throw new Exception(E.Message);
}
}
}
}
/// <summary>
/// 执行两条SQL语句,实现数据库事务。
/// </summary>
/// <param name="SQLString1"></param>
/// <param name="SQLString2"></param>
public static void ExecuteSqlTran(string SQLString1,string SQLString2)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection=connection;
SqlTransaction tx=connection.BeginTransaction();
cmd.Transaction=tx;
try
{
cmd.CommandText=SQLString1;
cmd.ExecuteNonQuery();
cmd.CommandText=SQLString2;
cmd.ExecuteNonQuery();
tx.Commit();
}
catch(System.Data.SqlClient.SqlException E)
{
tx.Rollback();
throw new Exception(E.Message);
}
finally
{
cmd.Dispose();
connection.Close();
}
}
}
/// <summary>
/// 执行多条SQL语句,实现数据库事务,每条语句以“;”分割。
/// </summary>
/// <param name="SQLStringList"></param>
public static void ExecuteSqlTran(string SQLStringList)
{
using (OdbcConnection conn = new OdbcConnection(connectionString))
{
conn.Open();
OdbcCommand cmd = new OdbcCommand();
cmd.Connection=conn;
OdbcTransaction tx=conn.BeginTransaction();
cmd.Transaction=tx;
try
{
string [] split= SQLStringList.Split(new Char [] { ';'});
foreach (string strsql in split)
{
if (strsql.Trim()!="")
{
cmd.CommandText=strsql;
cmd.ExecuteNonQuery();
}
}
tx.Commit();
}
catch(System.Data.Odbc.OdbcException E)
{
tx.Rollback();
throw new Exception(E.Message);
}
}
}
/// <summary>
/// 执行带一个存储过程参数的的SQL语句。
/// </summary>
/// <param name="SQLString"></param>
/// <param name="content"></param>
/// <returns></returns>
public static int ExecuteSql(string SQLString,string content)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlCommand cmd = new SqlCommand(SQLString,connection);
System.Data.SqlClient.SqlParameter myParameter = new System.Data.SqlClient.SqlParameter ( "@content", SqlDbType.NText);
myParameter.Value = content ;
cmd.Parameters.Add(myParameter);
try
{
connection.Open();
int rows=cmd.ExecuteNonQuery();
return rows;
}
catch(System.Data.SqlClient.SqlException E)
{
throw new Exception(E.Message);
}
finally
{
cmd.Dispose();
connection.Close();
}
}
}
/// <summary>
/// 向数据库里插入图像格式的字段
/// </summary>
/// <param name="strSQL"></param>
/// <param name="fs"></param>
/// <returns></returns>
public static int ExecuteSqlInsertImg(string strSQL,byte[] fs)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlCommand cmd = new SqlCommand(strSQL,connection);
System.Data.SqlClient.SqlParameter myParameter = new System.Data.SqlClient.SqlParameter ( "@fs", SqlDbType.Image);
myParameter.Value = fs ;
cmd.Parameters.Add(myParameter);
try
{
connection.Open();
int rows=cmd.ExecuteNonQuery();
return rows;
}
catch(System.Data.SqlClient.SqlException E)
{
throw new Exception(E.Message);
}
finally
{
cmd.Dispose();
connection.Close();
} }
}
/// <summary>
/// 执行一条计算查询结果语句,返回查询结果(整数)。
/// </summary>
/// <param name="strSQL"></param>
/// <returns></returns>
public static int GetCount(string strSQL)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlCommand cmd = new SqlCommand(strSQL,connection);
try
{
connection.Open();
SqlDataReader result = cmd.ExecuteReader();
int i=0;
while(result.Read())
{
i=result.GetInt32(0);
}
result.Close();
return i;
}
catch(System.Data.SqlClient.SqlException e)
{
throw new Exception(e.Message);
}
finally
{
cmd.Dispose();
connection.Close();
}
}
}
/// <summary>
/// 执行一条计算查询结果语句,返回查询结果(object)。
/// </summary>
/// <param name="SQLString"></param>
/// <returns></returns>
public static object GetSingle(string SQLString)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlCommand cmd = new SqlCommand(SQLString,connection);
try
{
connection.Open();
object obj = cmd.ExecuteScalar();
if((Object.Equals(obj,null))||(Object.Equals(obj,System.DBNull.Value)))
{
return null;
}
else
{
return obj;
}
}
catch(System.Data.SqlClient.SqlException e)
{
throw new Exception(e.Message);
}
finally
{
cmd.Dispose();
connection.Close();
}
}
}
/// <summary>
/// 执行查询语句,返回SqlDataReader
/// </summary>
/// <param name="strSQL"></param>
/// <returns></returns>
public static SqlDataReader ExecuteReader(string strSQL)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlCommand cmd = new SqlCommand(strSQL,connection);
SqlDataReader myReader;
try
{
connection.Open();
myReader = cmd.ExecuteReader();
return myReader;
}
catch(System.Data.SqlClient.SqlException e)
{
throw new Exception(e.Message);
}
finally
{
cmd.Dispose();
connection.Close();
}
}
}
/// <summary>
/// 执行查询语句,返回DataSet
/// </summary>
/// <param name="SQLString"></param>
/// <returns></returns>
public static DataSet Query(string SQLString)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
DataSet ds = new DataSet();
try
{
connection.Open();
SqlDataAdapter command = new SqlDataAdapter(SQLString,connection);
command.Fill(ds,"ds");
}
catch(System.Data.SqlClient.SqlException ex)
{
throw new Exception(ex.Message);
}
return ds;
} } #region 存储过程操作 /// <summary>
/// 运行存储过程
/// </summary>
/// <param name="storedProcName"></param>
/// <param name="parameters"></param>
/// <returns></returns>
public static SqlDataReader RunProcedure(string storedProcName, IDataParameter[] parameters )
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlDataReader returnReader;
connection.Open();
SqlCommand command = BuildQueryCommand( connection,storedProcName, parameters );
command.CommandType = CommandType.StoredProcedure; returnReader = command.ExecuteReader();
//Connection.Close();
return returnReader;
}
}
private static SqlCommand BuildQueryCommand(SqlConnection connection,string storedProcName, IDataParameter[] parameters)
{ SqlCommand command = new SqlCommand( storedProcName, connection );
command.CommandType = CommandType.StoredProcedure;
foreach (SqlParameter parameter in parameters)
{
command.Parameters.Add( parameter );
}
return command; }
public static DataSet RunProcedure(string storedProcName, IDataParameter[] parameters, string tableName )
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
DataSet dataSet = new DataSet();
connection.Open();
SqlDataAdapter sqlDA = new SqlDataAdapter();
sqlDA.SelectCommand = BuildQueryCommand(connection, storedProcName, parameters );
sqlDA.Fill( dataSet, tableName );
connection.Close(); return dataSet;
}
} #endregion
}
} -------------------------------------------------------------------------------------------------------------------------------- //这是我更新的一个版本,与上面可以说变化相当大 //其中FlashGateway是Flash Remoting的一个dll大家可以去掉相关代码,不影响使用 using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
using System.Collections.Specialized;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using mvi.sysmanage;
using FlashGateway.IO; namespace mvi.dbaccess
{
#region class sqlcom
/// <summary>
/// sqlcom
/// </summary>
public class sqlCom
{
//FLASHSRV/HIPIHI
//private string DBCnStr = @"Data Source=FLASHSRV;Initial Catalog=hipihi;Persist Security Info=True;User ID=sa;password=1"; private string DBCnStr = @"Data Source=mvi-dpe;Initial Catalog=hipihi;Persist Security Info=True;User ID=sa;password=mvi"; public sqlCom()
{
//DBCnStr = @"Data Source=FLASHSRV;Initial Catalog=hipihi;Persist Security Info=True;User ID=sa;password=1";
DBCnStr = @"Data Source=mvi-dpe;Initial Catalog=hipihi;Persist Security Info=True;User ID=sa;password=mvi";
} public sqlCom(string connectstring)
{
if (connectstring.Length > 1)
{
DBCnStr = connectstring;
}
} public string SQLCnStr
{
get
{
return DBCnStr;
}
set
{
DBCnStr = value;
}
} #region InitSqlConnection 初始化Sql连接字符串
/// <summary>
/// 初始化Sql连接字符串
/// </summary>
/// <param name="DBCnStr">传入的dbconnection</param>
/// <param name="cmdText">传入的cmd text</param>
/// <returns>sql server connection string</returns>
private string InitSqlConnection(string DBCnStr, string cmdText)
{
// temp code
return DBCnStr; //// final code
//int iD = DBCnStr.IndexOf("Data Source=");
//int iL = DBCnStr.Substring(iD + 12).Split(';')[0].Length;
//string strSqlServerName = DBCnStr.Substring(iD + 12, iL);
//string strNewSqlServerName = GetSqlServerName(cmdText);
//return DBCnStr.Replace(strSqlServerName, strNewSqlServerName);
}
#endregion #region GetSqlServerName 由sql string 获取数据库服务器名
/// <summary>
/// 由sql string 获取sql server name
/// </summary>
/// <param name="cmdText">传入的cmd text</param>
/// <returns>sql server name</returns>
private string GetSqlServerName(string cmdText)
{
return cmdText.Substring(cmdText.IndexOf("from") + 5).Split('.')[0].ToString();
}
#endregion # region GetDataSet 通过执行SQL语句返回一个状态
/// <summary>
/// 通过执行SQL语句返回一个状态
/// </summary>
/// <param name="cmdText">“SQL 文本”</param>
/// <param name="oCn">"连接对象"</param>
/// <param name="oDs">"引用的DataSet它将在程序中改变内容"</param>
/// <returns>"成功则返回0,否则返回错误代码"</returns>
public int GetDataSet(string cmdText, ref DataSet oDs)
{
DBCnStr = this.InitSqlConnection(DBCnStr, cmdText);
SqlConnection oCn = new SqlConnection(DBCnStr); try
{
oCn.Open();
}
catch (Exception oErr)
{
//WriteFile(oErr.Message);
Errlog.AppLog(oErr.Message, ErrorType.MviDataBase); return -1;
} //定义数据适配对象
SqlDataAdapter oleDataAdapter = new SqlDataAdapter(cmdText, oCn); int status = -1;
try
{
//填充DataSet
oleDataAdapter.Fill(oDs);
status = 0;
}
catch (Exception oErr)
{
Errlog.AppLog(oErr.Message, ErrorType.MviDataBase);
status = -1;
}
finally
{
oleDataAdapter = null;
if (oCn.State == System.Data.ConnectionState.Open)
{
oCn.Close();
}
}
return status;
}
#endregion # region GetDataTable 执行SQL语句并返回一个表
/// <summary>
/// 执行SQL语句并返回一个表
/// </summary>
/// <param name="cmdText">SQL文本</param>
/// <param name="DBCnStr">dbconnect</param>
/// <param name="inDt">返回表</param>
/// <returns>成功则返回0,否则返回错误代码</returns>
public int GetDataTable(string cmdText, ref DataTable inDt)
{
DBCnStr = this.InitSqlConnection(DBCnStr, cmdText);
SqlConnection oCn = new SqlConnection(DBCnStr); try
{
oCn.Open();
}
catch (Exception oErr)
{
//WriteFile(oErr.Message);
Errlog.AppLog(oErr.Message, ErrorType.MviDataBase); return -1;
} //建立数据适配对象
SqlDataAdapter oleDataAdapter = new SqlDataAdapter(cmdText, oCn); int status = -1;
try
{
//填充数据表
oleDataAdapter.Fill(inDt);
status = 0;
}
catch (Exception oErr)
{
//异常处理
//WriteFile(oErr.Message);
Errlog.AppLog(oErr.Message, ErrorType.MviDataBase); status = -1;
}
finally
{
oleDataAdapter = null;
if (oCn.State == System.Data.ConnectionState.Open)
{
oCn.Close();
}
}
return status;
}
#endregion # region GetDataTable 执行SQL语句并返回一个表
/// <summary>
/// 执行SQL语句并返回一个表
/// </summary>
/// <param name="cmdText">SQL文本</param>
/// <param name="DBCnStr">dbconnect</param>
/// <param name="inDt">返回表</param>
/// <returns>成功则返回0,否则返回错误代码</returns>
public int GetCount(string cmdText)
{
DBCnStr = this.InitSqlConnection(DBCnStr, cmdText);
SqlConnection oCn = new SqlConnection(DBCnStr); try
{
oCn.Open();
}
catch (Exception oErr)
{
//WriteFile(oErr.Message);
Errlog.AppLog(oErr.Message, ErrorType.MviDataBase); return -1;
} //建立数据适配对象
SqlDataAdapter oleDataAdapter = new SqlDataAdapter(cmdText, oCn); DataTable inDt = new DataTable();
int status = -1;
try
{
//填充数据表
oleDataAdapter.Fill(inDt); status = inDt.Rows.Count;
}
catch (Exception oErr)
{
Errlog.AppLog(oErr.Message, ErrorType.MviDataBase);
status = -1;
}
finally
{
oleDataAdapter = null;
if (oCn.State == System.Data.ConnectionState.Open)
{
oCn.Close();
}
}
return status;
}
#endregion # region // GetNVColl 执行SQL语句并返回NameValueCollection
///// <summary>
///// 执行SQL语句并返回NameValueCollection
///// </summary>
///// <param name="cmdText">SQL文本</param>
///// <param name="NameValueCollection">nvColl</param>
///// <returns>成功则返回0,否则返回错误代码</returns>
//public int GetNVColl(string cmdText, ref NameValueCollection nvColl)
//{ // DBCnStr = this.InitSqlConnection(DBCnStr, cmdText);
// SqlConnection oCn = new SqlConnection(DBCnStr); // try
// {
// oCn.Open();
// }
// catch (Exception oErr)
// {
// //WriteFile(oErr.Message);
// Errlog.AppLog(oErr.Message, ErrorType.MviDataBase); // return -1;
// }
// //建立数据读取对象
// SqlCommand oleCommand = new SqlCommand(cmdText, oCn);
// //填充SqlDataReader
// SqlDataReader oleReader; // int status = -1;
// try
// { // oleReader = oleCommand.ExecuteReader();
// // Always call Read before accessing data.
// while (oleReader.Read())
// {
// for (int i = 0; i < oleReader.FieldCount; i++)
// {
// if (oleReader.GetValue(i).ToString() != "")
// nvColl.Add(oleReader.GetName(i), oleReader.GetString(i));
// }
// } // status = 0;
// }
// catch (Exception oErr)
// {
// //异常处理
// //WriteFile(oErr.Message);
// Errlog.AppLog(oErr.Message, ErrorType.MviDataBase); // status = -1;
// }
// finally
// {
// oleReader = null;
// if (oCn.State == System.Data.ConnectionState.Open)
// {
// oCn.Close();
// }
// }
// return status;
//}
#endregion //
#region GetArrayList 执行SQL语句并返回一个ArrayList
///// <summary>
///// 执行SQL语句并返回一个ArrayList
///// </summary>
///// <param name="cmdText">SQL文本</param>
///// <returns>返回ArrayList arraylist[i]为name,arraylist[i+1]为value</returns>
//public ArrayList GetArrayList(string cmdText, ref ArrayList aName, ref ArrayList aValue)
//{
// ArrayList aNameValue = new ArrayList();
// SqlConnection oCn = new SqlConnection(DBCnStr); // try
// {
// oCn.Open();
// }
// catch (Exception oErr)
// {
// //WriteFile(oErr.Message);
// Errlog.AppLog(oErr.Message, ErrorType.MviDataBase); // return null;
// }
// //建立数据读取对象
// SqlCommand oleCommand = new SqlCommand(cmdText, oCn);
// //填充SqlDataReader
// SqlDataReader oleReader; // ArrayList status = null;
// try
// { // oleReader = oleCommand.ExecuteReader();
// // Always call Read before accessing data.
// while (oleReader.Read())
// {
// for (int i = 0; i < oleReader.FieldCount; i++)
// {
// if (oleReader.GetValue(i).ToString() != "")
// aName.Add(oleReader.GetName(i));
// aValue.Add(oleReader.GetString(i + 1));
// }
// } // status = aValue;
// }
// catch (Exception oErr)
// {
// //异常处理
// //WriteFile(oErr.Message);
// Errlog.AppLog(oErr.Message, ErrorType.MviDataBase); // status = null;
// }
// finally
// {
// oleReader = null;
// if (oCn.State == System.Data.ConnectionState.Open)
// {
// oCn.Close();
// }
// }
// return status;
//}
#endregion
// #region GetArrayList 执行SQL语句并返回一个ArrayList
/// <summary>
/// 执行SQL语句并返回一个ArrayList
/// </summary>
/// <param name="cmdText">SQL文本</param>
/// <returns>返回ArrayList arraylist[i]为name,arraylist[i+1]为value</returns>
public int GetArrayList(string cmdText, ref ArrayList aNameValue)
{
DBCnStr = this.InitSqlConnection(DBCnStr, cmdText);
SqlConnection oCn = new SqlConnection(DBCnStr); try
{
oCn.Open();
}
catch (Exception oErr)
{
//WriteFile(oErr.Message);
Errlog.AppLog(oErr.Message, ErrorType.MviDataBase); return -1;
}
//建立数据读取对象
SqlCommand oleCommand = new SqlCommand(cmdText, oCn);
//填充SqlDataReader
SqlDataReader oleReader; int status = -1;
try
{ oleReader = oleCommand.ExecuteReader();
// Always call Read before accessing data.
while (oleReader.Read())
{
for (int i = 0; i < oleReader.FieldCount - 1; i ++ )
{
if (oleReader.GetValue(i).ToString() != "")
aNameValue.Add(oleReader.GetName(i));
}
} status = 1;
}
catch (Exception oErr)
{
//异常处理
//WriteFile(oErr.Message);
Errlog.AppLog(oErr.Message, ErrorType.MviDataBase); status = -1;
}
finally
{
oleReader = null;
if (oCn.State == System.Data.ConnectionState.Open)
{
oCn.Close();
}
}
return status;
}
#endregion #region GetASObject 执行SQL语句并返回一个包含多条数据的ASObject (name,value)
/// <summary>
/// 执行SQL语句,查询两个字段,并返回一个ASObject
/// </summary>
/// <param name="cmdText">SQL文本</param>
/// <param name="asO">ASObject 对象</param>
/// <returns>返回int ASObject[i]为(name,value)</returns>
public int GetASObjectMulti(string cmdText, ref ASObject asO)
{
DBCnStr = this.InitSqlConnection(DBCnStr, cmdText);
SqlConnection oCn = new SqlConnection(DBCnStr);
try
{
oCn.Open();
}
catch (Exception oErr)
{
//WriteFile(oErr.Message);
Errlog.AppLog(oErr.Message, ErrorType.MviDataBase); return -1;
}
//建立数据读取对象
SqlCommand oleCommand = new SqlCommand(cmdText, oCn);
//填充SqlDataReader
SqlDataReader oleReader; int status = -1;
try
{
int i = 1;
oleReader = oleCommand.ExecuteReader();
// Always call Read before accessing data.
while (oleReader.Read())
{
for (int j = 0; j < oleReader.FieldCount; j++)
{
asO.Add(i+"@"+oleReader.GetName(j),oleReader.GetValue(j));//i@+"name",i为第几条数据的序号
}
i++;
} status = 1;
}
catch (Exception oErr)
{
//异常处理
//WriteFile(oErr.Message);
Errlog.AppLog(oErr.Message, ErrorType.MviDataBase); status = -1;
}
finally
{
oleReader = null;
if (oCn.State == System.Data.ConnectionState.Open)
{
oCn.Close();
}
}
return status;
}
#endregion #region GetASObjectSingle 执行SQL语句并返回一个包含单条数据的ASObject (name,value)
/// <summary>
/// 执行SQL语句查询一条数据(必须返回一条数据),返回一个ASObject
/// </summary>
/// <param name="cmdText">SQL文本</param>
/// <param name="asO">ASObject 对象</param>
/// <returns>返回int ASObject[i]为(name,value)</returns>
public int GetASObjectSingle(string cmdText, ref ASObject asO)
{
DBCnStr = this.InitSqlConnection(DBCnStr, cmdText);
SqlConnection oCn = new SqlConnection(DBCnStr);
try
{
oCn.Open();
}
catch (Exception oErr)
{
//WriteFile(oErr.Message);
Errlog.AppLog(oErr.Message, ErrorType.MviDataBase); return -1;
}
//建立数据读取对象
SqlCommand oleCommand = new SqlCommand(cmdText, oCn);
//填充SqlDataReader
SqlDataReader oleReader; int status = -1;
try
{
//oleReader = oleCommand.ExecuteScalar(); // modified by apenni 2006-5-6
oleReader = oleCommand.ExecuteReader();
// Always call Read before accessing data.
while (oleReader.Read())
{
for (int i = 0; i < oleReader.FieldCount; i++)
{
asO.Add(oleReader.GetName(i), oleReader.GetValue(i));
}
} status = 1;
}
catch (Exception oErr)
{
//异常处理
//WriteFile(oErr.Message);
Errlog.AppLog(oErr.Message, ErrorType.MviDataBase); status = -1;
}
finally
{
oleReader = null;
if (oCn.State == System.Data.ConnectionState.Open)
{
oCn.Close();
}
}
return status;
}
#endregion #region ExecuteSql 执行SET,DELETE语句时返回影响的行数
/// <summary>
/// 执行SET,DELETE语句时返回影响的行数
/// </summary>
/// <param name="cmdText">“SQL文本”</param>
/// <returns>“返回影响的行数,否则返回错误代码”</returns>
public int ExecuteSql(string cmdText)
{
int intReturn = -1;//返回影响的行数。
SqlCommand oCmd = new SqlCommand(); DBCnStr = this.InitSqlConnection(DBCnStr, cmdText);
SqlConnection oCn = new SqlConnection(DBCnStr);
try
{
oCn.Open();
}
catch (Exception oErr)
{
//WriteFile(oErr.Message);
Errlog.AppLog(oErr.Message, ErrorType.MviDataBase); return -1;
} oCmd.Connection = oCn;
oCmd.CommandType = CommandType.Text;
oCmd.CommandText = cmdText; //定义事务 设定隔离级别
SqlTransaction oTx = oCn.BeginTransaction(IsolationLevel.ReadCommitted);
oCmd.Transaction = oTx; //处理SQL语句
#region 事务处理
try
{
//支持事务
intReturn = oCmd.ExecuteNonQuery();
oTx.Commit(); }
catch (Exception oErr)
{
//WriteFile(oErr.Message);
Errlog.AppLog(oErr.Message, ErrorType.MviDataBase); oTx.Rollback(); intReturn = -1; }
finally
{
oCmd = null;
oTx = null;
if (oCn.State == System.Data.ConnectionState.Open)
{
oCn.Close();
}
}
#endregion return intReturn;
}
#endregion #region ExecuteSql 执行SET,DELETE语句时返回影响的行数
/// <summary>
/// 执行SET,DELETE语句时返回影响的行数
/// </summary>
/// <param name="cmdText">“SQL文本,支持多sql语句通过';'拼接”</param>
/// <returns>“返回影响的行数,否则返回错误代码”</returns>
public int ExecuteSql(params string[] cmdText)
{
string strSql = string.Empty;
foreach (string strCmd in cmdText)
{
strSql += strCmd;
}
return ExecuteSql(strSql);
}
//added by apenni 2006-5-6
#endregion #region CallStoreProc 调用系统存储过程返回一个整数
/// <summary>
/// 调用系统存储过程返回一个整数
/// </summary>
/// <param name = "strSysSPName">“存储过程枚举类型”</param>
/// <param name="InParaName">"in参数名字"</param>
/// <param name = "ParamValue">“参数列表”</param>
/// <param name="OutParaName">"out参数名字"</param>
/// <param name="OutParaValue">"返回的参数值"</param>
/// <param name="IType">"out参数的类型"</param>
/// <returns>"成功则返回所影响的行数,否则返回-1"</returns>
public int CallStoreProc(string strSysSPName, IList InParaName, IList InParamValue, IList OutParaName, ref object[] OutParaValue, DBTYPE[] IType)
{
int inReturn = -1; SqlCommand oCmd = new SqlCommand(); oCmd.CommandText = strSysSPName;
oCmd.CommandType = CommandType.StoredProcedure; #region in参数的建立
if (InParamValue != null && InParaName != null)
{
//建立in参数
for (int i = 0; i < InParamValue.Count; i++)
{
SqlParameter oPara = new SqlParameter(); //调用SQLParamHelper的CreateParameterWithValue()方法来生成不同的参数
if (InParaName[i] != null)
{
oPara = SQLParamHelper.CreateParameterWithValue(InParaName[i].ToString(), InParamValue[i]);
oPara.Direction = ParameterDirection.Input;
oCmd.Parameters.Add(oPara);
}
}
}
#endregion #region out参数的建立 if (OutParaName != null && OutParaValue != null && IType != null)
{
//建立in参数
for (int i = 0; i < OutParaName.Count; i++)
{
SqlParameter oPara = new SqlParameter(); //调用SQLParamHelper的CreateParameterWithValue()方法来生成不同的参数
if (OutParaName[i] != null)
{
oPara = SQLParamHelper.CreateOutParameterWithValue(OutParaName[i].ToString(), IType[i].ToString());
oPara.Direction = ParameterDirection.Output;
oCmd.Parameters.Add(oPara);
}
}
} #endregion SqlConnection oCn = new SqlConnection(DBCnStr);
try
{
oCn.Open();
}
catch (Exception oErr)
{
//WriteFile(oErr.Message);
Errlog.AppLog(oErr.Message, ErrorType.MviDataBase);
return -1;
} oCmd.Connection = oCn; //连接数据库和执行存储过程
try
{
inReturn = oCmd.ExecuteNonQuery();
for (int i = 0; i < OutParaValue.Length; i++)
{
OutParaValue[i] = oCmd.Parameters[OutParaName[i].ToString()].Value;
}
}
catch (Exception oErr)
{
//WriteFile(oErr.Message);
Errlog.AppLog(oErr.Message, ErrorType.MviDataBase); inReturn = -1;
}
finally
{
if (oCn.State == System.Data.ConnectionState.Open)
{
oCn.Close();
}
oCmd = null;
}
return inReturn;
}
#endregion #region CallStoreProc 调用系统存储过程并影响生成一个object对象值
/// <summary>
/// 调用系统存储过程并影响生成一个object对象值
/// </summary>
/// <param name = "strSysSPName">“存储过程枚举类型”</param>
/// <param name="InParaName">"in参数名字"</param>
/// <param name = "InParamValue">“in参数列表”</param>
/// <param name="OutParaName">"out参数名字"</param>
/// <param name="OutParaValue">"out参数值"</param>
/// <param name="IType">"out参数的类型"</param>
/// <param name="inObject">"引用的值"</param>
/// <returns>成功则返回1,否则返回-1或错误代码</returns>
public int CallStoreProc(string strSysSPName, IList InParaName, IList InParamValue, IList OutParaName, ref object[] OutParaValue, DBTYPE[] IType, ref object objReturn)
{
//建立Command对象
SqlCommand oCmd = new SqlCommand(); oCmd.CommandText = strSysSPName.ToString();
oCmd.CommandType = CommandType.StoredProcedure; int status = -1; #region in参数的建立
if (InParamValue != null && InParaName != null)
{
//建立in参数
for (int i = 0; i < InParamValue.Count; i++)
{
SqlParameter oPara = new SqlParameter(); //调用SQLParamHelper的CreateParameterWithValue()方法来生成不同的参数
if (InParaName[i] != null)
{
oPara = SQLParamHelper.CreateParameterWithValue(InParaName[i].ToString(), InParamValue[i]);
oPara.Direction = ParameterDirection.Input;
oCmd.Parameters.Add(oPara);
}
}
}
#endregion #region out参数的建立 if (OutParaName != null && OutParaValue != null && IType != null)
{
//建立in参数
for (int i = 0; i < OutParaName.Count; i++)
{
SqlParameter oPara = new SqlParameter(); //调用SQLParamHelper的CreateParameterWithValue()方法来生成不同的参数
if (OutParaName[i] != null)
{
oPara = SQLParamHelper.CreateOutParameterWithValue(OutParaName[i].ToString(), IType[i].ToString());
oPara.Direction = ParameterDirection.Output;
oCmd.Parameters.Add(oPara);
}
}
} #endregion SqlConnection oCn = new SqlConnection(DBCnStr);
try
{
oCn.Open();
}
catch (Exception oErr)
{
//WriteFile(oErr.Message);
Errlog.AppLog(oErr.Message, ErrorType.MviDataBase); return -1;
} oCmd.Connection = oCn; //连接数据库和执行存储过程
try
{
//通过SqlDataAdapter来填充Table
objReturn = oCmd.ExecuteScalar();
#region 取得返回参数的值 for (int i = 0; i < OutParaValue.Length; i++)
{
OutParaValue[i] = oCmd.Parameters[OutParaName[i].ToString()].Value;
} #endregion
status = 0;
}
catch (Exception oErr)
{
//WriteFile(oErr.Message);
Errlog.AppLog(oErr.Message, ErrorType.MviDataBase); status = -1;
}
finally
{
if (oCn.State == System.Data.ConnectionState.Open)
{
oCn.Close();
}
oCmd = null;
}
return status;
}
#endregion #region CallStoreProc 调用用户存储过程返回一个DataTable(Select 语句)
/// <summary>
/// 调用用户存储过程返回一个DataTable(Select 语句)
/// </summary>
/// <param name = "strSPName">“存储过程名”</param>
/// <param name="InParaName">"in参数名字"</param>
/// <param name = "InParamValue">“in参数列表”</param>
/// <param name="OutParaName">"out参数名字"</param>
/// <param name="IType">"out参数的类型"</param>
/// <param name="OutParaValue">"out参数值"</param>
/// <param name="oDT">"传入的DataTable引用"</param>
///<returns>"成功则返回1,否则返回-1或错误代码"</returns>
public int CallStoreProc(string strSPName, IList InParaName, IList InParamValue, IList OutParaName, ref object[] OutParaValue, DBTYPE[] IType, ref DataTable oDT)
{ //建立Command对象
SqlCommand oCmd = new SqlCommand(); oCmd.CommandText = strSPName.ToString();
oCmd.CommandType = CommandType.StoredProcedure; int status = -1; #region in参数的建立
if (InParamValue != null && InParaName != null)
{
//建立in参数
for (int i = 0; i < InParamValue.Count; i++)
{
SqlParameter oPara = new SqlParameter(); //调用SQLParamHelper的CreateParameterWithValue()方法来生成不同的参数
if (InParaName[i] != null)
{
oPara = SQLParamHelper.CreateParameterWithValue(InParaName[i].ToString(), InParamValue[i]);
oPara.Direction = ParameterDirection.Input;
oCmd.Parameters.Add(oPara);
}
}
}
#endregion #region out参数的建立 if (OutParaName != null && OutParaValue != null && IType != null)
{
//建立in参数
for (int i = 0; i < OutParaName.Count; i++)
{
SqlParameter oPara = new SqlParameter(); //调用SQLParamHelper的CreateParameterWithValue()方法来生成不同的参数
if (OutParaName[i] != null)
{
oPara = SQLParamHelper.CreateOutParameterWithValue(OutParaName[i].ToString(), IType[i].ToString());
oPara.Direction = ParameterDirection.Output;
oCmd.Parameters.Add(oPara);
}
}
} #endregion SqlConnection oCn = new SqlConnection(DBCnStr);
try
{
oCn.Open();
}
catch (Exception oErr)
{
//WriteFile(oErr.Message);
Errlog.AppLog(oErr.Message, ErrorType.MviDataBase); return -1;
} oCmd.Connection = oCn; //连接数据库和执行存储过程
try
{
//通过SqlDataAdapter来填充Table SqlDataAdapter oDp = new SqlDataAdapter(oCmd.CommandText.ToString(), oCn); //建立SqlDataAdapter与SqlCommand的连接
oDp.SelectCommand = oCmd;
oDp.DeleteCommand = oCmd;
oDp.UpdateCommand = oCmd;
oDp.DeleteCommand = oCmd; //填充DataTable
oDp.Fill(oDT);
#region 取得返回参数的值 for (int i = 0; i < OutParaValue.Length; i++)
{
OutParaValue[i] = oCmd.Parameters[OutParaName[i].ToString()].Value;
} #endregion
status = 0;
}
catch (Exception oErr)
{
//WriteFile(oErr.Message);
Errlog.AppLog(oErr.Message, ErrorType.MviDataBase); status = -1;
}
finally
{
if (oCn.State == System.Data.ConnectionState.Open)
{
oCn.Close();
}
oCmd = null;
}
return status;
}
#endregion #region CallStoreProc 调用系统存储过程并影响生成一个DataSet对象
/// <summary>
/// 调用系统存储过程并影响生成一个DataSet对象
/// </summary>
/// <param name = "strSysSPName">“存储过程枚举类型”</param>
/// <param name="InParaName">"in参数名字"</param>
/// <param name = "InParamValue">“in参数列表”</param>
/// <param name="OutParaName">"out参数名字"</param>
/// <param name="OutParaValue">"out参数值"</param>
/// <param name="IType">"out参数的类型"</param>
/// <param name=" oDs">"引用的DataSet"</param>
/// <returns>成功则返回1,否则返回-1或错误代码</returns>
public int CallStoreProc(string strSysSPName, IList InParaName, IList InParamValue, IList OutParaName, ref object[] OutParaValue, DBTYPE[] IType, ref DataSet oDs)
{
SqlCommand oCmd = new SqlCommand(); oCmd.CommandText = strSysSPName;
oCmd.CommandType = CommandType.StoredProcedure; int status = -1; #region in参数的建立
if (InParamValue != null && InParaName != null)
{
//建立in参数
for (int i = 0; i < InParamValue.Count; i++)
{
SqlParameter oPara = new SqlParameter(); //调用SQLParamHelper的CreateParameterWithValue()方法来生成不同的参数
if (InParaName[i] != null)
{
oPara = SQLParamHelper.CreateParameterWithValue(InParaName[i].ToString(), InParamValue[i]);
oPara.Direction = ParameterDirection.Input;
oCmd.Parameters.Add(oPara);
}
}
}
#endregion #region out参数的建立 if (OutParaName != null && OutParaValue != null && IType != null)
{
//建立in参数
for (int i = 0; i < OutParaName.Count; i++)
{
SqlParameter oPara = new SqlParameter(); //调用SQLParamHelper的CreateParameterWithValue()方法来生成不同的参数
if (OutParaName[i] != null)
{
oPara = SQLParamHelper.CreateOutParameterWithValue(OutParaName[i].ToString(), IType[i].ToString());
oPara.Direction = ParameterDirection.Output;
oCmd.Parameters.Add(oPara);
}
}
} #endregion SqlConnection oCn = new SqlConnection(DBCnStr);
try
{
oCn.Open();
}
catch (Exception oErr)
{
//WriteFile(oErr.Message);
Errlog.AppLog(oErr.Message, ErrorType.MviDataBase); return -1;
} oCmd.Connection = oCn; //连接数据库和执行存储过程
try
{
//通过SqlDataAdapter来填充Table
SqlDataAdapter oDp = new SqlDataAdapter(oCmd.CommandText.ToString(), oCn); //建立SqlDataAdapter与SqlCommand的连接
oDp.SelectCommand = oCmd;
oDp.DeleteCommand = oCmd;
oDp.UpdateCommand = oCmd;
oDp.DeleteCommand = oCmd;
//
oDp.Fill(oDs);
#region 取得返回参数的值
for (int i = 0; i < OutParaValue.Length; i++)
{
OutParaValue[i] = oCmd.Parameters[OutParaName[i].ToString()].Value;
}
#endregion
status = 0;
}
catch (Exception oErr)
{ // WriteFile(oErr.Message);
Errlog.AppLog(oErr.Message, ErrorType.MviDataBase); status = -1;
}
finally
{
if (oCn.State == System.Data.ConnectionState.Open)
{
oCn.Close();
}
oCmd = null;
}
return status;
}
#endregion #region GetSqlWhere 产生SQL语句
/// <summary>
/// 产生SQL语句
/// </summary>
/// <param name="InName">表字段名</param>
/// <param name="InValue">表字段值</param>
/// <returns>结果SQL语句</returns>
public string GetSqlWhere(ArrayList InName, ArrayList InValue)
{
DataTable DataTableTmp = new DataTable();
string StrSqlWhereTmp = "";
string StrTmp = "";
string StrName = "";
string StrValue = ""; if (InName == null || InValue == null)
{
return null;
}
for (int i = 0; i < InName.Count; i++)
{
StrTmp = InName[i].ToString();
if (StrTmp.Substring(0, 2) == "#S") //开始时间
{
StrName = StrTmp.Substring(2) + " >= ";
StrValue = "to_date('" + InValue[i].ToString() + "','yyyy-mm-dd HH24:Mi:ss')";
}
else if (StrTmp.Substring(0, 2) == "#E")//结束时间
{
StrName = StrTmp.Substring(2) + " < ";
StrValue = "to_date('" + InValue[i].ToString() + "','yyyy-mm-dd HH24:Mi:ss')";
}
else if (StrTmp.Substring(0, 2) == "#N")//<>条件
{
StrName = StrTmp.Substring(2) + " <> ";
StrValue = InValue[i].ToString();
}
else if (StrTmp.Substring(0, 2) == "#D")//大于条件
{
StrName = StrTmp.Substring(2) + ">";
StrValue = InValue[i].ToString();
}
else if (StrTmp.Substring(0, 2) == "#X")//小于条件
{
StrName = StrTmp.Substring(2) + "<";
StrValue = InValue[i].ToString();
}
else if (StrTmp.Substring(0, 2) == "#I")//IN条件
{
StrName = StrTmp.Substring(2) + " IN (";
StrValue = InValue[i].ToString() + ")";
}
else if (StrTmp.Substring(0, 2) == "#0")//没有条件
{
return InValue[i].ToString();
}
else //等于条件
{
StrName = StrTmp + "=";
StrValue = InValue[i].ToString();
} StrSqlWhereTmp = StrSqlWhereTmp + StrName + StrValue + " and ";
} StrSqlWhereTmp = StrSqlWhereTmp.Substring(0, StrSqlWhereTmp.Length - 5);
return StrSqlWhereTmp;
}
#endregion
}
#endregion #region class SQLParamHelper
/// <summary>
/// SQLParamHelper
/// </summary>
internal class SQLParamHelper
{
#region 创建出入参数
/// <summary>
/// 根据输入的OBJECT对象生成不同的参数
/// </summary>
/// <param name="name">“参数名字”</param>
/// <param name="nValue">“参数值”</param>
/// <returns></returns>
public static SqlParameter CreateParameterWithValue(string name, object nValue)
{
string strType;
SqlParameter param;
int intLenth = 0; if (nValue != null)
{
strType = nValue.GetType().ToString();
intLenth = nValue.ToString().Trim().Length;
if (intLenth > 0)
{
switch (strType)
{
case "System.Int32":
{
param = new SqlParameter(name, SqlDbType.BigInt, intLenth);
param.Direction = ParameterDirection.Input;
param.Value = nValue;
break;
}
case "System.Double":
{
param = new SqlParameter(name, SqlDbType.Decimal);
param.Direction = ParameterDirection.Input;
param.Value = nValue;
break;
}
case "System.Single":
{
param = new SqlParameter(name, SqlDbType.Float);
param.Direction = ParameterDirection.Input;
param.Value = nValue;
break;
}
case "System.UInt64":
{
param = new SqlParameter(name, SqlDbType.BigInt, intLenth);
param.Direction = ParameterDirection.Input;
param.Value = nValue;
break;
}
case "System.Int64":
{
param = new SqlParameter(name, SqlDbType.BigInt, intLenth);
param.Direction = ParameterDirection.Input;
param.Value = nValue;
break;
}
case "System.Decimal":
{
param = new SqlParameter(name, SqlDbType.Decimal, intLenth);
param.Direction = ParameterDirection.Input;
param.Value = nValue;
break;
}
case "System.Object":
{
param = new SqlParameter(name, SqlDbType.Real, intLenth);
param.Direction = ParameterDirection.Input;
param.Value = nValue;
break;
}
case "System.UInt16":
{
param = new SqlParameter(name, SqlDbType.BigInt, intLenth);
param.Direction = ParameterDirection.Input;
param.Value = nValue;
break;
}
case "System.Int16":
{
param = new SqlParameter(name, SqlDbType.BigInt, intLenth);
param.Direction = ParameterDirection.Input;
param.Value = nValue;
break;
}
case "System.Boolean":
{
param = new SqlParameter(name, SqlDbType.Binary);
param.Direction = ParameterDirection.Input;
bool bolTemp = (bool)nValue;
param.Value = (bolTemp == true ? 1 : 0);
break;
}
case "System.String":
{
param = new SqlParameter(name, SqlDbType.VarChar, intLenth);
param.Direction = ParameterDirection.Input;
param.Value = nValue;
break;
}
case "System.DateTime":
{
param = new SqlParameter(name, SqlDbType.DateTime, intLenth);
param.Direction = ParameterDirection.Input;
param.Value = nValue;
break;
}
case "System.Char":
{
param = new SqlParameter(name, SqlDbType.Char, intLenth);
param.Direction = ParameterDirection.Input;
param.Value = nValue;
break;
}
case "System.SByte":
{
param = new SqlParameter(name, SqlDbType.Bit, intLenth);
param.Direction = ParameterDirection.Input;
param.Value = nValue;
break;
}
case "System_XMl":
{
param = new SqlParameter(name, SqlDbType.Xml, 300);
param.Direction = ParameterDirection.Input;
param.Value = nValue;
break;
}
case "System.Text":
{
if (intLenth < 2000)
{
param = new SqlParameter(name, SqlDbType.Text, intLenth);
}
else
{
param = new SqlParameter(name, SqlDbType.Text);
}
param.Direction = ParameterDirection.Input;
param.Value = nValue;
break;
}
default:
{
param = new SqlParameter(name, SqlDbType.Variant);
param.Direction = ParameterDirection.Input;
param.Value = nValue;
break;
}
}
param.Direction = ParameterDirection.Input;
}
else
{
param = new SqlParameter(name, SqlDbType.VarChar, 10);
param.Direction = ParameterDirection.Input;
param.Value = "";
}
}
else
{
param = new SqlParameter(name, SqlDbType.Variant);
param.Direction = ParameterDirection.Input;
param.Value = null;
}
return param; }
#endregion #region CreateOutParameterWithValue 建立输出参数
/// <summary>
/// 建立输出参数
/// </summary>
/// <param name="name">"参数名"</param>
/// <param name="objType">"参数类型"</param>
/// <returns></returns>
public static SqlParameter CreateOutParameterWithValue(string name, string objType)
{
string strType = objType; SqlParameter param; switch (strType)
{
case "System_Object":
{
param = new SqlParameter(name, SqlDbType.Variant);
param.Direction = ParameterDirection.Output;
break;
}
case "System_Single":
{
param = new SqlParameter(name, SqlDbType.Float);
param.Direction = ParameterDirection.Output;
break;
}
case "System_UInt64":
{
param = new SqlParameter(name, SqlDbType.BigInt);
param.Direction = ParameterDirection.Output;
break;
}
case "System_Int64":
{
param = new SqlParameter(name, SqlDbType.BigInt);
param.Direction = ParameterDirection.Output;
break;
}
case "System_Int32":
{
param = new SqlParameter(name, SqlDbType.Int);
param.Direction = ParameterDirection.Output;
break;
}
case "System_UInt16":
{
param = new SqlParameter(name, SqlDbType.SmallInt);
param.Direction = ParameterDirection.Output;
break;
}
case "System_Int16":
{
param = new SqlParameter(name, SqlDbType.SmallInt);
param.Direction = ParameterDirection.Output;
break;
}
case "System_Double":
{
param = new SqlParameter(name, SqlDbType.Float);
param.Direction = ParameterDirection.Output;
break;
}
case "System_Decimal":
{
param = new SqlParameter(name, SqlDbType.Decimal);
param.Direction = ParameterDirection.Output;
break;
}
case "System_Boolean":
{
param = new SqlParameter(name, SqlDbType.Binary);
param.Direction = ParameterDirection.Output;
break;
}
case "System_String":
{
param = new SqlParameter(name, SqlDbType.VarChar, 200);
param.Direction = ParameterDirection.Output;
break;
}
case "System_DateTime":
{
param = new SqlParameter(name, SqlDbType.DateTime);
param.Direction = ParameterDirection.Output;
break;
}
case "System_Char":
{
param = new SqlParameter(name, SqlDbType.Char, 100);
param.Direction = ParameterDirection.Output;
break;
}
case "System_SByte":
{
param = new SqlParameter(name, SqlDbType.NChar, 30);
param.Direction = ParameterDirection.Output;
break;
}
case "System_Text":
{
param = new SqlParameter(name, SqlDbType.Text, 300);
param.Direction = ParameterDirection.Output;
break;
}
case "System_XMl":
{
param = new SqlParameter(name, SqlDbType.Xml, 300);
param.Direction = ParameterDirection.Output;
break;
}
default:
{
param = new SqlParameter(name, SqlDbType.Variant);
param.Direction = ParameterDirection.Output;
break;
}
}
return param; }
#endregion CreateOutParams #region CreateParameter 创建形式参数
/// <summary>
/// 转换参数为SQL语句的表达式
/// </summary>
/// <param name="nValue">传入的Object类型值</param>
/// <returns>已经转换好的String</returns>
public static string CreateParameter(SqlParameter oValue)
{
string strTemPara;
object oPara_Value = oValue.Value; if (oPara_Value != null)
{
string strType = oValue.SqlDbType.ToString();
switch (strType)
{
case "VarChar":
{
strTemPara = "'" + CheckMark(oPara_Value) + "'";
break;
}
case "Char":
{
strTemPara = "'" + CheckMark(oPara_Value) + "'";
break;
}
case "NChar":
{
strTemPara = "'" + CheckMark(oPara_Value) + "'";
break;
}
case "NVarChar":
{
strTemPara = "'" + CheckMark(oPara_Value) + "'";
break;
}
//日期型
case "DateTime":
{
DateTime dt = new DateTime();
dt = (DateTime)oPara_Value; string strTP = "'" + dt.Year + "-" + dt.Month + "-" + dt.Day;
strTP += " " + dt.Hour.ToString() + ":" + dt.Minute.ToString();
strTP += ":" + dt.Second.ToString() + "',";
strTemPara = "TO_DATE(" + strTP + "'yyyy-mm-dd hh24:mi:ss'" + ")";
break;
}
case "LongVarChar":
{
strTemPara = "'" + CheckMark(oPara_Value) + "'";
break;
}
case "Clob":
{
strTemPara = "'" + CheckMark(oPara_Value) + "'";
break;
}
default:
{
strTemPara = oPara_Value.ToString();
break;
}
}
}
else
{
//将null传入
strTemPara = "null";
}
return strTemPara;
}
#endregion #region CheckMark 替换object的'为''并转换为String
/// <summary>
/// 替换object的'为''并转换为String
/// </summary>
/// <param name="objIn">传入的Object类型</param>
/// <returns>已经替换'为''的String</returns>
private static string CheckMark(object objIn)
{
string strTmp = objIn.ToString(); return strTmp.Replace("'", "''"); // modified by apenni 06.01.02 //string strRet = "";
//for (int i = 0; i < strTmp.Length; i++)
//{
// if (strTmp[i].ToString() == "'")
// {
// strRet += "''";
// }
// else
// {
// strRet += strTmp[i].ToString();
// }
//}
//return strRet;
}
#endregion
}
#endregion

ASP.NET经典的、封装好的ADO.NET类包的更多相关文章

  1. ASP.NET 经典60道面试题

    转:http://bbs.chinaunix.net/thread-4065577-1-1.html ASP.NET 经典60道面试题 1. 简述 private. protected. public ...

  2. 在ASP.NET 5项目中使用和调试外部源代码包

    (此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:由于在ASP.NET 5中,项目依赖都是通过"包"来引用,所以使用 ...

  3. iOS开发拓展篇—封装音频文件播放工具类

    iOS开发拓展篇—封装音频文件播放工具类 一.简单说明 1.关于音乐播放的简单说明 (1)音乐播放用到一个叫做AVAudioPlayer的类 (2)AVAudioPlayer常用方法 加载音乐文件 - ...

  4. JBPM4入门——4.封装流程管理的工具类(JbpmUtil)

    本博文只是简要对JBPM4进行介绍,如需更详细内容请自行google 链接: JBPM入门系列文章: JBPM4入门——1.jbpm简要介绍 JBPM4入门——2.在eclipse中安装绘制jbpm流 ...

  5. c# 封装的文件夹操作类之复制文件夹

    c#  封装的文件夹操作类之复制文件夹 一.复制文件夹原理: 1.递归遍历文件夹 2.复制文件 二.FolderHelper.cs /// <summary> /// 文件夹操作类 /// ...

  6. Redis进阶实践之九 独立封装的RedisClient客户端工具类(转载9)

    Redis进阶实践之九 独立封装的RedisClient客户端工具类 一.引言 今天开始有关Redis学习的第九篇文章了,以后肯定会大量系统使用Redis作为缓存介质,为了更好的更好的Redis,自己 ...

  7. 封装php redis缓存操作类

    封装php redis缓存操作类,集成了连接redis并判断连接是否成功,redis数据库选择,检测redis键是否存在,获取值,写入值,设置生存时间和删除清空操作. php redis类代码: &l ...

  8. python+selenium之自定义封装一个简单的Log类

    python+selenium之自定义封装一个简单的Log类 一. 问题分析: 我们需要封装一个简单的日志类,主要有以下内容: 1. 生成的日志文件格式是 年月日时分秒.log 2. 生成的xxx.l ...

  9. 基于AFNetworking封装的网络请求工具类【原创】

    今天给大家共享一个我自己封装的网络请求类,希望能帮助到大家. 前提,导入AFNetworking框架, 关于修改AFN源码:通常序列化时做对text/plan等的支持时,可以一劳永逸的修改源代码,在a ...

随机推荐

  1. Codeforces Round #340 (Div. 2) E. XOR and Favorite Number —— 莫队算法

    题目链接:http://codeforces.com/problemset/problem/617/E E. XOR and Favorite Number time limit per test 4 ...

  2. Ueditor文本编辑工具栏自定义

    1.找到 ueditor.config.js 文件 2.在 toolbars 数组内进行删减,添加 , toolbars: [[ 'fullscreen', 'source', '|', 'undo' ...

  3. Linux命令学习笔记- vmstat命令实战详解

    vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况.这个命令是我查看Linux/Unix最 ...

  4. SQL.py

    import sqlite3,sys def convert(value): if value.startswith('~'): return value.strip('~') if not valu ...

  5. BZOJ_2989_数列&&BZOJ_4170_极光_KDTree

    BZOJ_2989_数列&&BZOJ_4170_极光_KDTree Description "若是万一琪露诺(俗称rhl)进行攻击,什么都好,冷静地回答她的问题来吸引她.对方 ...

  6. ubuntu 16.04 apt-get 出现The package 'xxx' needs to be reinstalled, but I can't find an archive for it.

    参考网址:http://www.ihaveapc.com/2011/10/fix-annoying-the-package-needs-to-be-reinstalled-but-i-cant-fin ...

  7. python_re函数

    1,贪婪和非贪婪模式 重复运算符默认是贪婪的,即会进行尽可能多的匹配 代码示例: >>> import re >>> emphasis_pattern = re.c ...

  8. 12_tcp_ip相关概念

    java基础班  网络编程应该提过.大学学计算机或者是通信的对这些东西肯定比较熟一些.主机到网络层是跟硬件相关的一些协议了.上层协议得依赖下层的协议.也就是说它们得联合起来共同工作才能够把数据传输出去 ...

  9. HDOj-1425

    sort Time Limit: 6000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submis ...

  10. linux内核中ip,tcp等头的定义(转)

    一.MAC帧头定义 /*数据帧定义,头14个字节,尾4个字节*/typedef struct _MAC_FRAME_HEADER{ char m_cDstMacAddress[6];    //目的m ...