public DataSet FillDataSet(string 프로시저명) { int i = 0; DBCon dbCon = null; DataSet ds = new DataSet(); SqlParameter[] sqlParam = null; string vIP추적 = ""; int v사용자추적 = 0; Exception _Ex = null; SqlException _SqlEx = null; DataSet 라미터 = this.GetDS(); try { dbCon = new DBCon(DB연결문자()); InfoMessage = ""; dbCon.SqlCon.InfoMessage += new SqlInfoMessageEventHandler(SqlConnection_InfoMessage); sqlParam = new SqlParameter[라미터.Tables[0].Rows.Count - 2]; foreach (DataRow dr in 라미터.Tables[0].Rows) { if (dr["컬럼명"].ToString() != "@IP추적") { if (dr["컬럼명"].ToString() != "@사용자추적") { sqlParam[i] = new SqlParameter(); sqlParam[i].ParameterName = dr["컬럼명"].ToString(); sqlParam[i].SqlDbType = DataType(dr["타입"].ToString()); sqlParam[i].Size = Convert.ToInt32(dr["사이즈"].ToString()); if (dr["값"].ToString().ToUpper() == "NULL") { sqlParam[i].Value = DBNull.Value; } else { sqlParam[i].Value = dr["값"].ToString(); } i++; } else { v사용자추적 = Convert.ToInt32(dr["값"].ToString()); } } else { vIP추적 = dr["값"].ToString(); } } ds = dbCon.FillDataSet(프로시저명, sqlParam, CommandType.StoredProcedure); return(ds); } catch (SqlException SqlEx) { Console.WriteLine(InfoMessage); _SqlEx = SqlEx; throw _SqlEx; } catch (Exception ex) { _Ex = new Exception(); _Ex = ex; throw _Ex; } finally { Console.WriteLine(InfoMessage); } }