¶Ô±ÈÐÂÎļþ |
| | |
| | | using System.Collections; |
| | | using System.Data; |
| | | using System.Data.SqlClient; |
| | | |
| | | namespace Gs.Toolbox; |
| | | |
| | | /// <summary> |
| | | /// æ°æ®è®¿é®ç±» |
| | | /// </summary> |
| | | public abstract class DbHelperSQL |
| | | { |
| | | //æ°æ®åºè¿æ¥å符串(web.configæ¥é
ç½®) |
| | | public static readonly string strConn = |
| | | getValueByKey("DataBaseConn"); |
| | | |
| | | #region å
¬ç¨æ¹æ³ |
| | | |
| | | /// <summary> |
| | | /// å尿大忮µå¼ |
| | | /// </summary> |
| | | /// <param name="FieldName"></param> |
| | | /// <param name="TableName"></param> |
| | | /// <returns></returns> |
| | | public static int GetMaxID(string FieldName, string TableName) |
| | | { |
| | | var strsql = "select max(" + FieldName + ") from " + TableName; |
| | | var obj = GetSingle(strsql); |
| | | if (obj == null) |
| | | return 0; |
| | | return int.Parse(obj.ToString()); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ¯å¦å卿æ¡è®°å½ |
| | | /// </summary> |
| | | /// <param name="strSql"></param> |
| | | /// <param name="cmdParms"></param> |
| | | /// <returns></returns> |
| | | public static bool Exists(string strSql, params SqlParameter[] cmdParms) |
| | | { |
| | | var obj = GetSingle(strSql, cmdParms); |
| | | int cmdresult; |
| | | if (Equals(obj, null) || Equals(obj, DBNull.Value)) |
| | | cmdresult = 0; |
| | | else |
| | | cmdresult = int.Parse(obj.ToString()); |
| | | if (cmdresult == 0) |
| | | return false; |
| | | return true; |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region æ§è¡ç®åSQLè¯å¥ |
| | | |
| | | /// <summary> |
| | | /// æ§è¡SQLè¯å¥ï¼è¿åå½±åçè®°å½æ° |
| | | /// </summary> |
| | | /// <param name="SQLString">SQLè¯å¥</param> |
| | | /// <returns>å½±åçè®°å½æ°</returns> |
| | | public static int ExecuteSql(string SQLString) |
| | | { |
| | | using (var connection = new SqlConnection(strConn)) |
| | | { |
| | | using (var cmd = new SqlCommand(SQLString, connection)) |
| | | { |
| | | try |
| | | { |
| | | connection.Open(); |
| | | var rows = cmd.ExecuteNonQuery(); |
| | | return rows; |
| | | } |
| | | catch (SqlException E) |
| | | { |
| | | connection.Close(); |
| | | throw new Exception(E.Message); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ§è¡å¤æ¡SQLè¯å¥ï¼å®ç°æ°æ®åºäºå¡ã |
| | | /// </summary> |
| | | /// <param name="SQLStringList">夿¡SQLè¯å¥</param> |
| | | public static void ExecuteSqlTran(ArrayList SQLStringList) |
| | | { |
| | | using (var conn = new SqlConnection(strConn)) |
| | | { |
| | | conn.Open(); |
| | | var cmd = new SqlCommand(); |
| | | cmd.Connection = conn; |
| | | var tx = conn.BeginTransaction(); |
| | | cmd.Transaction = tx; |
| | | try |
| | | { |
| | | for (var n = 0; n < SQLStringList.Count; n++) |
| | | { |
| | | var strsql = SQLStringList[n].ToString(); |
| | | if (strsql.Trim().Length > 1) |
| | | { |
| | | cmd.CommandText = strsql; |
| | | cmd.ExecuteNonQuery(); |
| | | } |
| | | } |
| | | |
| | | tx.Commit(); |
| | | } |
| | | catch (SqlException E) |
| | | { |
| | | tx.Rollback(); |
| | | throw new Exception(E.Message); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ§è¡å¸¦ä¸ä¸ªåå¨è¿ç¨åæ°ççSQLè¯å¥ã |
| | | /// </summary> |
| | | /// <param name="SQLString">SQLè¯å¥</param> |
| | | /// <param name="content">åæ°å
容,æ¯å¦ä¸ä¸ªåæ®µæ¯æ ¼å¼å¤æçæç« ï¼æç¹æ®ç¬¦å·ï¼å¯ä»¥éè¿è¿ä¸ªæ¹å¼æ·»å </param> |
| | | /// <returns>å½±åçè®°å½æ°</returns> |
| | | public static int ExecuteSql(string SQLString, string content) |
| | | { |
| | | using (var connection = new SqlConnection(strConn)) |
| | | { |
| | | var cmd = new SqlCommand(SQLString, connection); |
| | | var myParameter = new SqlParameter("@content", SqlDbType.NText); |
| | | myParameter.Value = content; |
| | | cmd.Parameters.Add(myParameter); |
| | | try |
| | | { |
| | | connection.Open(); |
| | | var rows = cmd.ExecuteNonQuery(); |
| | | return rows; |
| | | } |
| | | catch (SqlException E) |
| | | { |
| | | throw new Exception(E.Message); |
| | | } |
| | | finally |
| | | { |
| | | cmd.Dispose(); |
| | | connection.Close(); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// åæ°æ®åºéæå
¥å¾åæ ¼å¼çåæ®µ(åä¸é¢æ
åµç±»ä¼¼çå¦ä¸ç§å®ä¾) |
| | | /// </summary> |
| | | /// <param name="strSQL">SQLè¯å¥</param> |
| | | /// <param name="fs">å¾ååè,æ°æ®åºçåæ®µç±»å为imageçæ
åµ</param> |
| | | /// <returns>å½±åçè®°å½æ°</returns> |
| | | public static int ExecuteSqlInsertImg(string strSQL, byte[] fs) |
| | | { |
| | | using (var connection = new SqlConnection(strConn)) |
| | | { |
| | | var cmd = new SqlCommand(strSQL, connection); |
| | | var myParameter = new SqlParameter("@fs", SqlDbType.Image); |
| | | myParameter.Value = fs; |
| | | cmd.Parameters.Add(myParameter); |
| | | try |
| | | { |
| | | connection.Open(); |
| | | var rows = cmd.ExecuteNonQuery(); |
| | | return rows; |
| | | } |
| | | catch (SqlException E) |
| | | { |
| | | throw new Exception(E.Message); |
| | | } |
| | | finally |
| | | { |
| | | cmd.Dispose(); |
| | | connection.Close(); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ§è¡ä¸æ¡è®¡ç®æ¥è¯¢ç»æè¯å¥ï¼è¿åæ¥è¯¢ç»æï¼objectï¼ã |
| | | /// </summary> |
| | | /// <param name="SQLString">è®¡ç®æ¥è¯¢ç»æè¯å¥</param> |
| | | /// <returns>æ¥è¯¢ç»æï¼objectï¼</returns> |
| | | public static object GetSingle(string SQLString) |
| | | { |
| | | using (var connection = new SqlConnection(strConn)) |
| | | { |
| | | using (var cmd = new SqlCommand(SQLString, connection)) |
| | | { |
| | | try |
| | | { |
| | | connection.Open(); |
| | | var obj = cmd.ExecuteScalar(); |
| | | if (Equals(obj, null) || Equals(obj, DBNull.Value)) |
| | | return null; |
| | | return obj; |
| | | } |
| | | catch (SqlException e) |
| | | { |
| | | connection.Close(); |
| | | throw new Exception(e.Message); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ§è¡æ¥è¯¢è¯å¥ï¼è¿åSqlDataReader |
| | | /// </summary> |
| | | /// <param name="strSQL">æ¥è¯¢è¯å¥</param> |
| | | /// <returns>SqlDataReader</returns> |
| | | public static SqlDataReader ExecuteReader(string strSQL) |
| | | { |
| | | var connection = new SqlConnection(strConn); |
| | | var cmd = new SqlCommand(strSQL, connection); |
| | | try |
| | | { |
| | | connection.Open(); |
| | | var myReader = cmd.ExecuteReader(); |
| | | return myReader; |
| | | } |
| | | catch (SqlException e) |
| | | { |
| | | throw new Exception(e.Message); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ§è¡æ¥è¯¢è¯å¥ï¼è¿åDataSet |
| | | /// </summary> |
| | | /// <param name="SQLString">æ¥è¯¢è¯å¥</param> |
| | | /// <returns>DataSet</returns> |
| | | public static DataSet Query(string SQLString) |
| | | { |
| | | using (var connection = new SqlConnection(strConn)) |
| | | { |
| | | var ds = new DataSet(); |
| | | try |
| | | { |
| | | connection.Open(); |
| | | var command = new SqlDataAdapter(SQLString, connection); |
| | | command.Fill(ds, "ds"); |
| | | } |
| | | catch (SqlException ex) |
| | | { |
| | | throw new Exception(ex.Message); |
| | | } |
| | | |
| | | return ds; |
| | | } |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region æ§è¡å¸¦åæ°çSQLè¯å¥ |
| | | |
| | | /// <summary> |
| | | /// æ§è¡SQLè¯å¥ï¼è¿åå½±åçè®°å½æ° |
| | | /// </summary> |
| | | /// <param name="SQLString">SQLè¯å¥</param> |
| | | /// <returns>å½±åçè®°å½æ°</returns> |
| | | public static int ExecuteSql(string SQLString, |
| | | params SqlParameter[] cmdParms) |
| | | { |
| | | using (var connection = new SqlConnection(strConn)) |
| | | { |
| | | using (var cmd = new SqlCommand()) |
| | | { |
| | | try |
| | | { |
| | | PrepareCommand(cmd, connection, null, SQLString, cmdParms); |
| | | var rows = cmd.ExecuteNonQuery(); |
| | | cmd.Parameters.Clear(); |
| | | return rows; |
| | | } |
| | | catch (SqlException E) |
| | | { |
| | | throw new Exception(E.Message); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ§è¡å¤æ¡SQLè¯å¥ï¼å®ç°æ°æ®åºäºå¡ã |
| | | /// </summary> |
| | | /// <param name="SQLStringList">SQLè¯å¥çåå¸è¡¨ï¼key为sqlè¯å¥ï¼valueæ¯è¯¥è¯å¥çSqlParameter[]ï¼</param> |
| | | public static void ExecuteSqlTran(Hashtable SQLStringList) |
| | | { |
| | | using (var conn = new SqlConnection(strConn)) |
| | | { |
| | | conn.Open(); |
| | | using (var trans = conn.BeginTransaction()) |
| | | { |
| | | var cmd = new SqlCommand(); |
| | | try |
| | | { |
| | | //å¾ªç¯ |
| | | foreach (DictionaryEntry myDE in SQLStringList) |
| | | { |
| | | var cmdText = myDE.Key.ToString(); |
| | | var cmdParms = (SqlParameter[])myDE.Value; |
| | | PrepareCommand(cmd, conn, trans, cmdText, cmdParms); |
| | | var val = cmd.ExecuteNonQuery(); |
| | | cmd.Parameters.Clear(); |
| | | |
| | | //trans.Commit(); |
| | | } |
| | | |
| | | trans.Commit(); |
| | | } |
| | | catch |
| | | { |
| | | trans.Rollback(); |
| | | throw; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ§è¡å¤æ¡SQLè¯å¥ï¼å®ç°æ°æ®åºäºå¡ã |
| | | /// </summary> |
| | | /// <param name="SQLStringList">SQLè¯å¥çåå¸è¡¨ï¼key为sqlè¯å¥ï¼valueæ¯è¯¥è¯å¥çSqlParameter[]ï¼</param> |
| | | public static int ExecuteSqlTranRtn(Hashtable SQLStringList) |
| | | { |
| | | var d = 0; |
| | | using (var conn = new SqlConnection(strConn)) |
| | | { |
| | | conn.Open(); |
| | | using (var trans = conn.BeginTransaction()) |
| | | { |
| | | var cmd = new SqlCommand(); |
| | | try |
| | | { |
| | | //å¾ªç¯ |
| | | foreach (DictionaryEntry myDE in SQLStringList) |
| | | { |
| | | var cmdText = myDE.Key.ToString(); |
| | | var cmdParms = (SqlParameter[])myDE.Value; |
| | | PrepareCommand(cmd, conn, trans, cmdText, cmdParms); |
| | | var val = cmd.ExecuteNonQuery(); |
| | | d = d + val; |
| | | cmd.Parameters.Clear(); |
| | | |
| | | //trans.Commit(); |
| | | } |
| | | |
| | | trans.Commit(); |
| | | } |
| | | catch |
| | | { |
| | | trans.Rollback(); |
| | | throw; |
| | | } |
| | | } |
| | | } |
| | | |
| | | return d; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ§è¡å¤æ¡SQLè¯å¥ï¼å®ç°æ°æ®åºäºå¡ |
| | | /// </summary> |
| | | /// <param name="SQLStringList">SQLè¯å¥çåå¸è¡¨ï¼key为æ è¯ï¼valueæ¯è¯¥è¯å¥çSqlParameter[]ï¼</param> |
| | | public static void ExecuteSqlTran(string sqltxt, Hashtable SQLStringList) |
| | | { |
| | | using (var conn = new SqlConnection(strConn)) |
| | | { |
| | | conn.Open(); |
| | | using (var trans = conn.BeginTransaction()) |
| | | { |
| | | var cmd = new SqlCommand(); |
| | | try |
| | | { |
| | | //å¾ªç¯ |
| | | foreach (DictionaryEntry myDE in SQLStringList) |
| | | { |
| | | var cmdText = sqltxt; |
| | | var cmdParms = (SqlParameter[])myDE.Value; |
| | | PrepareCommand(cmd, conn, trans, cmdText, cmdParms); |
| | | var val = cmd.ExecuteNonQuery(); |
| | | cmd.Parameters.Clear(); |
| | | } |
| | | |
| | | trans.Commit(); |
| | | } |
| | | catch |
| | | { |
| | | trans.Rollback(); |
| | | throw; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ§è¡ä¸æ¡è®¡ç®æ¥è¯¢ç»æè¯å¥ï¼è¿åæ¥è¯¢ç»æï¼objectï¼ã |
| | | /// </summary> |
| | | /// <param name="SQLString">è®¡ç®æ¥è¯¢ç»æè¯å¥</param> |
| | | /// <returns>æ¥è¯¢ç»æï¼objectï¼</returns> |
| | | public static object GetSingle(string SQLString, |
| | | params SqlParameter[] cmdParms) |
| | | { |
| | | using (var connection = new SqlConnection(strConn)) |
| | | { |
| | | using (var cmd = new SqlCommand()) |
| | | { |
| | | try |
| | | { |
| | | PrepareCommand(cmd, connection, null, SQLString, cmdParms); |
| | | var obj = cmd.ExecuteScalar(); |
| | | cmd.Parameters.Clear(); |
| | | if (Equals(obj, null) || Equals(obj, DBNull.Value)) |
| | | return null; |
| | | return obj; |
| | | } |
| | | catch (SqlException e) |
| | | { |
| | | throw new Exception(e.Message); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ§è¡æ¥è¯¢è¯å¥ï¼è¿åSqlDataReader |
| | | /// </summary> |
| | | /// <param name="strSQL">æ¥è¯¢è¯å¥</param> |
| | | /// <returns>SqlDataReader</returns> |
| | | public static SqlDataReader ExecuteReader(string SQLString, |
| | | params SqlParameter[] cmdParms) |
| | | { |
| | | var connection = new SqlConnection(strConn); |
| | | var cmd = new SqlCommand(); |
| | | try |
| | | { |
| | | PrepareCommand(cmd, connection, null, SQLString, cmdParms); |
| | | var myReader = cmd.ExecuteReader(); |
| | | cmd.Parameters.Clear(); |
| | | return myReader; |
| | | } |
| | | catch (SqlException e) |
| | | { |
| | | throw new Exception(e.Message); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ§è¡æ¥è¯¢è¯å¥ï¼è¿åDataSet |
| | | /// </summary> |
| | | /// <param name="SQLString">æ¥è¯¢è¯å¥</param> |
| | | /// <returns>DataSet</returns> |
| | | public static DataSet Query(string SQLString, |
| | | params SqlParameter[] cmdParms) |
| | | { |
| | | using (var connection = new SqlConnection(strConn)) |
| | | { |
| | | var cmd = new SqlCommand(); |
| | | PrepareCommand(cmd, connection, null, SQLString, cmdParms); |
| | | using (var da = new SqlDataAdapter(cmd)) |
| | | { |
| | | var ds = new DataSet(); |
| | | try |
| | | { |
| | | da.Fill(ds, "ds"); |
| | | cmd.Parameters.Clear(); |
| | | } |
| | | catch (SqlException ex) |
| | | { |
| | | throw new Exception(ex.Message); |
| | | } |
| | | |
| | | return ds; |
| | | } |
| | | } |
| | | } |
| | | |
| | | //private static void PrepareCommand(SqlCommand cmd, SqlConnection conn, SqlTransaction trans, string cmdText, SqlParameter[] cmdParms) |
| | | //{ |
| | | |
| | | // if (conn.State != ConnectionState.Open) |
| | | // conn.Open(); |
| | | // cmd.Connection = conn; |
| | | // cmd.CommandText = cmdText; |
| | | // if (trans != null) |
| | | // cmd.Transaction = trans; |
| | | // cmd.CommandType = CommandType.Text;//cmdType; |
| | | // if (cmdParms != null) |
| | | // { |
| | | // foreach (SqlParameter parameter in cmdParms) |
| | | // { |
| | | // if ((parameter.Direction == ParameterDirection.InputOutput || parameter.Direction == ParameterDirection.Input) && |
| | | // (parameter.Value == null)) |
| | | // { |
| | | // parameter.Value = DBNull.Value; |
| | | // } |
| | | // cmd.Parameters.Add(parameter); |
| | | // } |
| | | // } |
| | | //} |
| | | private static void PrepareCommand(SqlCommand cmd, SqlConnection conn, |
| | | SqlTransaction trans, string cmdText, SqlParameter[] cmdParms) |
| | | { |
| | | if (conn.State != ConnectionState.Open) |
| | | conn.Open(); |
| | | cmd.Connection = conn; |
| | | cmd.CommandText = cmdText; |
| | | if (trans != null) |
| | | cmd.Transaction = trans; |
| | | cmd.CommandType = CommandType.Text; //cmdType; |
| | | if (cmdParms != null) |
| | | foreach (var parm in cmdParms) |
| | | { |
| | | //cmd.Parameters.Add(parm); |
| | | if ((parm.Direction == ParameterDirection.InputOutput || |
| | | parm.Direction == ParameterDirection.Input) && |
| | | parm.Value == null) |
| | | parm.Value = DBNull.Value; |
| | | cmd.Parameters.Add(parm); |
| | | } |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region åå¨è¿ç¨æä½ |
| | | |
| | | /// <summary> |
| | | /// æ§è¡åå¨è¿ç¨ |
| | | /// </summary> |
| | | /// <param name="storedProcName">åå¨è¿ç¨å</param> |
| | | /// <param name="parameters">åå¨è¿ç¨åæ°</param> |
| | | /// <returns>SqlDataReader</returns> |
| | | public static SqlDataReader RunProcedure(string storedProcName, |
| | | IDataParameter[] parameters) |
| | | { |
| | | var connection = new SqlConnection(strConn); |
| | | SqlDataReader returnReader; |
| | | connection.Open(); |
| | | var command = BuildQueryCommand(connection, storedProcName, parameters); |
| | | command.CommandType = CommandType.StoredProcedure; |
| | | returnReader = command.ExecuteReader(); |
| | | return returnReader; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ§è¡å¸¦è¾åºåæ°çåå¨è¿ç¨ |
| | | /// </summary> |
| | | /// <param name="storedProcName">åå¨è¿ç¨å</param> |
| | | /// <param name="parameters">åå¨è¿ç¨åæ°,OutName è¾åºåæ°çååï¼å¦ææ¯å¤ä¸ªä»¥@为åå²ç¬¦ï¼</param> |
| | | /// <returns>string(以|åå²çè¾åºåæ°çå¼)</returns> |
| | | public static string RunProcedureOut(string storedProcName, |
| | | IDataParameter[] parameters, string outName) |
| | | { |
| | | var connection = new SqlConnection(strConn); |
| | | var returnstring = string.Empty; |
| | | connection.Open(); |
| | | var command = BuildQueryCommand(connection, storedProcName, parameters); |
| | | command.CommandType = CommandType.StoredProcedure; |
| | | command.ExecuteNonQuery(); |
| | | var str = string.Empty; |
| | | //è§£æç©¿è¿æ¥çåæ° |
| | | var Arraystr = outName.Split('|'); |
| | | foreach (var st in Arraystr) |
| | | { |
| | | var a = st; |
| | | if (str == string.Empty) |
| | | str = command.Parameters[a].Value.ToString(); |
| | | else |
| | | str = str + "|" + command.Parameters[a].Value; |
| | | } |
| | | return str; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ§è¡åå¨è¿ç¨ |
| | | /// </summary> |
| | | /// <param name="storedProcName">åå¨è¿ç¨å</param> |
| | | /// <param name="parameters">åå¨è¿ç¨åæ°</param> |
| | | /// <param name="tableName">DataSetç»æä¸ç表å</param> |
| | | /// <returns>DataSet</returns> |
| | | public static DataSet RunProcedure(string storedProcName, |
| | | IDataParameter[] parameters, string tableName) |
| | | { |
| | | using (var connection = new SqlConnection(strConn)) |
| | | { |
| | | var dataSet = new DataSet(); |
| | | connection.Open(); |
| | | var sqlDA = new SqlDataAdapter(); |
| | | sqlDA.SelectCommand = |
| | | BuildQueryCommand(connection, storedProcName, parameters); |
| | | sqlDA.Fill(dataSet, tableName); |
| | | connection.Close(); |
| | | return dataSet; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æå»º SqlCommand 对象(ç¨æ¥è¿åä¸ä¸ªç»æéï¼è䏿¯ä¸ä¸ªæ´æ°å¼) |
| | | /// </summary> |
| | | /// <param name="connection">æ°æ®åºè¿æ¥</param> |
| | | /// <param name="storedProcName">åå¨è¿ç¨å</param> |
| | | /// <param name="parameters">åå¨è¿ç¨åæ°</param> |
| | | /// <returns>SqlCommand</returns> |
| | | private static SqlCommand BuildQueryCommand(SqlConnection connection, |
| | | string storedProcName, IDataParameter[] parameters) |
| | | { |
| | | var command = new SqlCommand(storedProcName, connection); |
| | | command.CommandType = CommandType.StoredProcedure; |
| | | foreach (SqlParameter parameter in parameters) |
| | | command.Parameters.Add(parameter); |
| | | return command; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ§è¡åå¨è¿ç¨ï¼è¿åå½±åçè¡æ° |
| | | /// </summary> |
| | | /// <param name="storedProcName">åå¨è¿ç¨å</param> |
| | | /// <param name="parameters">åå¨è¿ç¨åæ°</param> |
| | | /// <param name="rowsAffected">å½±åçè¡æ°</param> |
| | | /// <returns></returns> |
| | | public static int RunProcedure(string storedProcName, |
| | | IDataParameter[] parameters, out int rowsAffected) |
| | | { |
| | | using (var connection = new SqlConnection(strConn)) |
| | | { |
| | | int result; |
| | | connection.Open(); |
| | | var command = |
| | | BuildIntCommand(connection, storedProcName, parameters); |
| | | rowsAffected = command.ExecuteNonQuery(); |
| | | result = (int)command.Parameters["ReturnValue"].Value; |
| | | //Connection.Close(); |
| | | return result; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ§è¡åå¨è¿ç¨ï¼è¿åå½±åè¡æ° |
| | | /// </summary> |
| | | /// <param name="storedProcName">stringç±»ååå¨è¿ç¨å</param> |
| | | /// <param name="parameters">SqlParameters[]åå¨è¿ç¨åæ°</param> |
| | | /// <returns>int å½±åè¡æ°</returns> |
| | | public static int RunProcedure_NonQuery(string storedProcName, |
| | | IDataParameter[] parameters) |
| | | { |
| | | using (var connection = new SqlConnection(strConn)) |
| | | { |
| | | connection.Open(); |
| | | var command = |
| | | BuildQueryCommand(connection, storedProcName, parameters); |
| | | return command.ExecuteNonQuery(); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// å建 SqlCommand 对象å®ä¾(ç¨æ¥è¿åä¸ä¸ªæ´æ°å¼) |
| | | /// </summary> |
| | | /// <param name="storedProcName">åå¨è¿ç¨å</param> |
| | | /// <param name="parameters">åå¨è¿ç¨åæ°</param> |
| | | /// <returns>SqlCommand 对象å®ä¾</returns> |
| | | private static SqlCommand BuildIntCommand(SqlConnection connection, |
| | | string storedProcName, IDataParameter[] parameters) |
| | | { |
| | | var command = BuildQueryCommand(connection, storedProcName, parameters); |
| | | command.Parameters.Add(new SqlParameter("ReturnValue", |
| | | SqlDbType.Int, 4, ParameterDirection.ReturnValue, |
| | | false, 0, 0, string.Empty, DataRowVersion.Default, null)); |
| | | return command; |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | |
| | | public static string getValueByKey(string key) |
| | | { |
| | | // å建é
ç½®æå»ºå¨ |
| | | var builder = new ConfigurationBuilder() |
| | | .SetBasePath(Directory.GetCurrentDirectory()) |
| | | .AddJsonFile("appsettings.json", true, true); |
| | | // æå»ºé
ç½® |
| | | var configuration = builder.Build(); |
| | | return configuration[key]; |
| | | } |
| | | |
| | | } |