Beispiel #1
0
 //潘化英:写的用来访问指定存储过程,并执行,通过参数获取返回值,不需要返回其他某个类型的
 public static void ExecProc_NoReturn(string storedProcName, IDataParameter[] parameters)
 {
     try
     {
         SqlConnection connection = new SqlConnection(connectionString);
         connection.Open();
         SqlCommand command = new SqlCommand(storedProcName, connection);
         command.CommandType = CommandType.StoredProcedure;
         foreach (SqlParameter parameter in parameters)
         {
             if (parameter != null)
             {
                 // 检查未分配值的输出参数,将其分配以DBNull.Value.
                 if ((parameter.Direction == ParameterDirection.InputOutput || parameter.Direction == ParameterDirection.Input) && (parameter.Value == null))
                 {
                     parameter.Value = DBNull.Value;
                 }
                 command.Parameters.Add(parameter);
             }
         }
         command.ExecuteNonQuery();
         connection.Close();
     }
     catch (Exception ex)
     {
         AnalysisError Analysis_Error = new AnalysisError();
         string        SaveError      = Analysis_Error.CatchErrorForSave(ex, storedProcName, "ExecProc_NoReturn_1");
         //保存错误信息在Logs中
         Deal_error Dealerror = new Deal_error();
         Dealerror.deal_Error(SaveError, "OtherError", "ExecProc_NoReturn_1", 0);
     }
 }
Beispiel #2
0
 /// <summary>
 /// 执行查询语句,返回DataSet
 /// </summary>
 /// <param name="SQLString">查询语句</param>
 /// <returns>DataSet</returns>
 /// //袁依平在用。。。。执行查询sql语句的方法
 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)
         {
             AnalysisError Analysis_Error = new AnalysisError();
             string        SaveError      = Analysis_Error.CatchErrorForSave(ex, SQLString, "DbHelperSQLQuery");
             //保存错误信息在Logs中
             Deal_error Dealerror = new Deal_error();
             Dealerror.deal_Error(SaveError, "OtherError", "DbHelperSQLQuery", 0);
         }
         finally
         {
             connection.Close();
         }
         return(ds);
     }
 }
Beispiel #3
0
        ///// <summary>
        ///// 执行SQL语句,返回影响的记录数
        ///// </summary>
        ///// <param name="SQLString">SQL语句</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)
        //            {
        //                connection.Close();
        //                throw e;
        //            }
        //        }
        //    }
        //}

        /// <summary>
        /// 执行SQL语句,返回影响的记录数
        /// </summary>
        /// <param name="SQLString">SQL语句</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 (Exception e)
                    {
                        AnalysisError Analysis_Error = new AnalysisError();
                        string        SaveError      = Analysis_Error.CatchErrorForSave(e, SQLString, "DbHelperExecuteSql");
                        Deal_error    Dealerror      = new Deal_error();
                        Dealerror.deal_Error(SaveError, "OtherError", "DbHelperExecuteSql", 0);
                        return(-1);
                    }
                    finally
                    {
                        connection.Close();
                    }
                }
            }
        }
Beispiel #4
0
        //#region 小万: 执行存储过程,返回一个DataSet对象 public DataSet GetDataSet(string procName, params SqlParameter[] parameters)
        ///// <summary>
        ///// 执行存储过程,返回一个DataSet 对象
        ///// </summary>
        //public DataSet GetDataSet(string procName, params SqlParameter[] parameters)
        //{
        //    SqlDataAdapter adapter = new SqlDataAdapter(procName, _conn as SqlConnection);
        //    adapter.SelectCommand.CommandType = CommandType.StoredProcedure;
        //    foreach (SqlParameter parameter in parameters)
        //    {
        //        adapter.SelectCommand.Parameters.Add(parameter);
        //    }
        //    DataSet ds = new DataSet();
        //    adapter.Fill(ds);
        //    return ds;
        //}
        //#endregion


        //王思远写的方法

        public DataSet GetDataSet(List <string> sqls, List <string> Dt_Name)
        {
            string SqlText = "";

            try
            {
                DataSet ds = new DataSet();
                for (int i = 0; i < sqls.Count; i++)
                {
                    SqlText = sqls[i];
                    SqlDataAdapter da = new SqlDataAdapter(SqlText, _conn);
                    da.Fill(ds, Dt_Name[i]);
                }
                return(ds);
            }
            catch (Exception ex)
            {
                AnalysisError Analysis_Error = new AnalysisError();
                string        SaveError      = Analysis_Error.CatchErrorForSave(ex, SqlText, "Conn_GetDataSet");
                //保存错误信息在Logs中
                Deal_error Dealerror = new Deal_error();
                Dealerror.deal_Error(SaveError, "OtherError", "Conn_GetDataSet", 0);
                return(null);
            }
        }
Beispiel #5
0
 /// <summary>
 /// 小周用:查询数据得到一个DataTable
 /// </summary>
 /// <param name="SQLString"></param>
 /// <returns></returns>
 public static DataTable GetDataTable(string SQLString)
 {
     using (SqlConnection connection = new SqlConnection(connectionString))
     {
         DataTable dt = new DataTable();
         try
         {
             DataSet ds = new DataSet();
             connection.Open();
             SqlDataAdapter command = new SqlDataAdapter(SQLString, connection);
             command.Fill(ds, "ds");
             if (ds.Tables.Count > 0)
             {
                 dt = ds.Tables[0];
             }
         }
         catch (System.Data.SqlClient.SqlException ex)
         {
             AnalysisError Analysis_Error = new AnalysisError();
             string        SaveError      = Analysis_Error.CatchErrorForSave(ex, SQLString, "Db_GetDataTable");
             //保存错误信息在Logs中
             Deal_error Dealerror = new Deal_error();
             Dealerror.deal_Error(SaveError, "OtherError", "Db_GetDataTable", 0);
         }
         return(dt);
     }
 }
Beispiel #6
0
        /// <summary>
        /// 执行存储过程,返回一个 DataTable 对象
        /// </summary>
        public DataSet GetDataSet(string procName, params SqlParameter[] parameters)
        {
            DataSet ds = new DataSet();

            try
            {
                SqlDataAdapter adapter = new SqlDataAdapter(procName, _conn as SqlConnection);
                adapter.SelectCommand.CommandType = CommandType.StoredProcedure;
                foreach (SqlParameter parameter in parameters)
                {
                    adapter.SelectCommand.Parameters.Add(parameter);
                }
                adapter.Fill(ds);
            }
            catch (Exception ex)
            {
                AnalysisError Analysis_Error = new AnalysisError();
                string        SaveError      = Analysis_Error.CatchErrorForSave(ex, procName, "Conn_GetDataSet_2");
                //保存错误信息在Logs中
                Deal_error Dealerror = new Deal_error();
                Dealerror.deal_Error(SaveError, "OtherError", "Conn_GetDataSet_2", 0);

                ds = null;
            }
            return(ds);
        }
Beispiel #7
0
        //小英正在用
        public DataSet Proc_GetDataSet(List <string> sql, List <string> tablename)//完整sql语句List,对应表名List,这个是传递多个查询语句以对应的表名,访问固定存储过程,返回一个dataset,目的是查询的不需要在语句中open key ,close key 的
        {
            string sqls = "";

            try
            {
                DataSet ds = new DataSet();
                for (int i = 0; i < sql.Count; i++)
                {
                    sqls = sql[i];
                    SqlDataAdapter da_getall = new SqlDataAdapter("GetQueryData", _conn);
                    da_getall.SelectCommand.CommandType = CommandType.StoredProcedure;
                    da_getall.SelectCommand.Parameters.Add("@sqls", SqlDbType.VarChar, -1);
                    da_getall.SelectCommand.Parameters["@sqls"].Value = sqls;
                    da_getall.Fill(ds, tablename[i]);
                }
                return(ds);
            }
            catch (Exception ex)
            {
                AnalysisError Analysis_Error = new AnalysisError();
                string        SaveError      = Analysis_Error.CatchErrorForSave(ex, sqls, "Proc_GetDataSet");
                //保存错误信息在Logs中
                Deal_error Dealerror = new Deal_error();
                Dealerror.deal_Error(SaveError, "OtherError", "Proc_GetDataSet", 0);
                return(null);
            }
        }
Beispiel #8
0
        /// <summary>
        /// DataTable转换成xml
        /// </summary>
        /// <param name="dt"></param>
        /// <returns></returns>
        public string DtToXml(DataTable dt)
        {
            try
            {
                System.IO.TextWriter tw = new System.IO.StringWriter();
                if (dt != null)//2015-12-04加是否为null判断
                {
                    dt.TableName = dt.TableName.Length == 0 ? "Table1" : dt.TableName;
                    dt.WriteXml(tw);
                    dt.WriteXmlSchema(tw);
                }
                return(tw.ToString());
            }
            catch (Exception ex)
            {
                AnalysisError Analysis_Error = new AnalysisError();
                string        SaveError      = Analysis_Error.CatchErrorForSave(ex, "无", "xmlhelper_DtToXml");
                //保存错误信息在Logs中
                Deal_error Dealerror = new Deal_error();
                Dealerror.deal_Error(SaveError, "OtherError", "xmlhelper_DtToXml", 0);

                //错误信息返回本地
                string SendError = Analysis_Error.CatchErrorForClient(ex);

                return(SendError);
            }
        }
Beispiel #9
0
        //周海梅:找到指定节点的值并返回给调用者
        public string GetInnerText(string strXml, string parentNode, string xmlNode) //strXml:xml字符串//parentNode:父节点或者需要查找的大节点//xmlNode:需要找到的节点
        {
            string nodeText = "";

            try
            {
                XmlDocument xml = new XmlDocument();
                xml.LoadXml(strXml);
                XmlNode     root     = xml.SelectSingleNode(parentNode);
                XmlNodeList nodelist = root.ChildNodes;
                foreach (XmlNode node in nodelist)
                {
                    if (node.Name == xmlNode)
                    {
                        XmlElement ele = (XmlElement)node;
                        nodeText = ele.InnerText;
                    }
                }
            }
            catch (Exception ex)
            {
                AnalysisError Analysis_Error = new AnalysisError();
                string        SaveError      = Analysis_Error.CatchErrorForSave(ex, strXml, "xmlhelper_GetInnerText");
                //保存错误信息在Logs中
                Deal_error Dealerror = new Deal_error();
                Dealerror.deal_Error(SaveError, "OtherError", "xmlhelper_GetInnerText", 0);
            }
            return(nodeText);
        }
Beispiel #10
0
        //袁依平正在用。。。执行sql语句插入、修改、删除的方法
        public static int ExecuteSqlTran(List <String> SQLStringList)
        {
            using (SqlConnection conn = new SqlConnection(connectionString))
            {
                conn.Open();
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = conn;
                SqlTransaction tx = conn.BeginTransaction();
                cmd.Transaction = tx;
                int    count  = 0;
                string strsql = "";
                try
                {
                    for (int n = 0; n < SQLStringList.Count; n++)
                    {
                        strsql = SQLStringList[n];
                        if (strsql.Trim().Length > 1)
                        {
                            cmd.CommandText = strsql;
                            count          += cmd.ExecuteNonQuery();
                        }
                    }
                    tx.Commit();
                    return(count);
                }
                catch (Exception ex)
                {
                    tx.Rollback();

                    AnalysisError Analysis_Error = new AnalysisError();
                    string        SaveError      = Analysis_Error.CatchErrorForSave(ex, strsql, "DbHelperExecuteSqlTran");
                    //保存错误信息在Logs中
                    Deal_error Dealerror = new Deal_error();
                    Dealerror.deal_Error(SaveError, "OtherError", "DbHelperExecuteSqlTran", 0);

                    return(-1);
                    // throw ex;
                }
                finally
                {
                    conn.Close();
                }
            }
        }
Beispiel #11
0
 //小英正在用
 public DataTable Proc_GetDataTable(string sql)//这个是传递一个完整的语句,访问固定存储过程,返回一个datatable,目的是查询的不需要在语句中open key ,close key 的
 {
     try
     {
         DataTable      dt        = new DataTable();
         SqlDataAdapter da_getall = new SqlDataAdapter("GetQueryData", _conn);
         da_getall.SelectCommand.CommandType = CommandType.StoredProcedure;
         da_getall.SelectCommand.Parameters.Add("@sqls", SqlDbType.VarChar, -1);
         da_getall.SelectCommand.Parameters["@sqls"].Value = sql;
         da_getall.Fill(dt);
         return(dt);
     }
     catch (Exception ex)
     {
         AnalysisError Analysis_Error = new AnalysisError();
         string        SaveError      = Analysis_Error.CatchErrorForSave(ex, sql, "Proc_GetDataTable");
         //保存错误信息在Logs中
         Deal_error Dealerror = new Deal_error();
         Dealerror.deal_Error(SaveError, "OtherError", "Proc_GetDataTable", 0);
         return(null);
     }
 }