public object ExecuteQuery(string pStoredName, object xmlOrParamOrRow, ReturnObjectType retType, int timeOut) { SqlCommand selectCommand = new SqlCommand(); SqlDataAdapter sqlDataAdapter1 = (SqlDataAdapter)null; object obj1 = (object)null; try { selectCommand.CommandText = pStoredName; selectCommand.CommandType = CommandType.StoredProcedure; if (xmlOrParamOrRow != null) { if (xmlOrParamOrRow.GetType() == typeof(string)) { string str = (string)xmlOrParamOrRow; SqlParameter sqlParameter = new SqlParameter(); sqlParameter.SqlDbType = SqlDbType.NText; sqlParameter.Value = str; sqlParameter.ParameterName = "@XML"; sqlParameter.Direction = ParameterDirection.Input; selectCommand.Parameters.Add(sqlParameter); } else if (xmlOrParamOrRow.GetType() == typeof(SqlParameter[])) { selectCommand.Parameters.AddRange((SqlParameter[])xmlOrParamOrRow); } else if (xmlOrParamOrRow.GetType() == typeof(DataRow)) { DataRow dataRow = (DataRow)xmlOrParamOrRow; int count = dataRow.Table.Columns.Count; for (int index = 0; index < count; ++index) { object obj2 = dataRow[index]; SqlParameter sqlParameter = new SqlParameter("@" + dataRow.Table.Columns[index].ColumnName, obj2); selectCommand.Parameters.Add(sqlParameter); } } } selectCommand.CommandTimeout = timeOut; selectCommand.Connection = new SqlConnection(this.ConnectionString); if (selectCommand.Connection.State == ConnectionState.Closed) { selectCommand.Connection.Open(); } if (retType == ReturnObjectType.Object) { obj1 = selectCommand.ExecuteScalar(); } else if (retType == ReturnObjectType.NonQuery) { obj1 = (object)selectCommand.ExecuteNonQuery(); } else { SqlDataAdapter sqlDataAdapter2 = new SqlDataAdapter(selectCommand); DataSet dataSet = new DataSet(); sqlDataAdapter2.Fill(dataSet); try { switch (retType) { case ReturnObjectType.DataSet: obj1 = (object)dataSet; break; case ReturnObjectType.DataTable: obj1 = (object)dataSet.Tables[0]; break; case ReturnObjectType.DataRow: obj1 = (object)dataSet.Tables[0].Rows[0]; break; } } catch (Exception ex) { throw ex; } } } catch (SqlException ex) { throw ex; } catch (Exception ex) { throw ex; } finally { selectCommand.Parameters.Clear(); if (selectCommand.Connection.State != ConnectionState.Closed) { selectCommand.Connection.Close(); } sqlDataAdapter1 = (SqlDataAdapter)null; } return(obj1); }
public object ExecuteQuery(string pStoredName, string pXML, ReturnObjectType retType) { return(this.ExecuteQuery(pStoredName, (object)pXML, retType, 30)); }