Ver Mensaje Individual
  #4 (permalink)  
Antiguo 26/05/2010, 12:20
Avatar de spider_boy
spider_boy
 
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Respuesta: Referencia a objeto no establecida como instancia de un objeto. C#.

Perdón, pensé que con ese código sería suficiente. Aquí está el DALSQLServer.cs

Código C#:
Ver original
  1. namespace Tarea.Capas.CapaAccesoDatos
  2. {
  3.     /// <summary>
  4.     /// Descripción breve de DALSQLServer
  5.     /// </summary>
  6.     public class DALSQLServer
  7.     {
  8.         private String _connectionString;
  9.         private String _sqlCommand;
  10.         SqlConnection objetoConnection;
  11.         SqlCommand objetoCommand;
  12.         /// <summary>
  13.         /// Obtiene o establece el comando que se ejecutará sobre una tabla
  14.         /// </summary>
  15.         public String SqlCommand
  16.         {
  17.             get { return _sqlCommand; }
  18.             set { _sqlCommand = value; }
  19.         }
  20.         /// <summary>
  21.         /// Se especifica la cadena de conexión a la base de datos
  22.         /// </summary>
  23.         public String ConnectionString
  24.         {
  25.             get { return _connectionString; }
  26.             set { _connectionString = value; }
  27.         }
  28.         /// <summary>
  29.         /// Ejecuta comandos INSERT, UPDATE y DELETE
  30.         /// </summary>
  31.         /// <returns>Retorna la cantidad de filas afectadas</returns>
  32.         public int ExecuteNonQuery()
  33.         {
  34.             int iResultado = 0;
  35.             if (objetoConnection == null)
  36.                 objetoConnection = new SqlConnection();
  37.             try
  38.             {
  39.                 objetoConnection.ConnectionString = _connectionString;
  40.                 objetoConnection.Open();
  41.                 if (objetoConnection.State == ConnectionState.Open)
  42.                 {
  43.                     objetoCommand = new SqlCommand();
  44.                     objetoCommand.Connection = objetoConnection;
  45.                     objetoCommand.CommandType = CommandType.Text;
  46.                     objetoCommand.CommandText = _sqlCommand;
  47.                     iResultado = objetoCommand.ExecuteNonQuery();
  48.                 }
  49.             }
  50.             catch (Exception ex)
  51.             {
  52.                 iResultado = -1;
  53.             }
  54.             finally
  55.             {
  56.                 //si el estado de conexión es open, cierra la conexión
  57.                 if (objetoConnection.State == ConnectionState.Open)
  58.                     objetoConnection.Close();
  59.  
  60.                 objetoConnection = null;
  61.                 objetoCommand = null;
  62.             }
  63.  
  64.  
  65.  
  66.  
  67.             return iResultado;
  68.         }
  69.         /// <summary>
  70.         /// Ejecuta consultas SELECT
  71.         /// </summary>
  72.         /// <returns></returns>
  73.         public DataSet ExecuteQuery()
  74.         {
  75.             DataSet ds = new DataSet();
  76.             SqlDataAdapter objetoAdapter = null;
  77.             if (objetoConnection == null)
  78.                 objetoConnection = new SqlConnection();
  79.             try
  80.             {
  81.                 objetoConnection.ConnectionString = _connectionString;
  82.                 objetoConnection.Open();
  83.                 if (objetoConnection.State == ConnectionState.Open)
  84.                 {
  85.                     objetoAdapter = new SqlDataAdapter();
  86.                     objetoCommand = new SqlCommand();
  87.                     objetoCommand.Connection = objetoConnection;
  88.                     objetoCommand.CommandType = CommandType.Text;
  89.                     objetoCommand.CommandText = _sqlCommand;
  90.                     objetoAdapter.SelectCommand = objetoCommand;
  91.                     objetoAdapter.Fill(ds);
  92.                 }
  93.             }
  94.             catch (Exception ex)
  95.             {
  96.                 ds = null;
  97.             }
  98.             finally
  99.             {
  100.                 //si el estado de conexión es open, cierra la conexión
  101.                 if (objetoConnection.State == ConnectionState.Open)
  102.                     objetoConnection.Close();
  103.  
  104.                 objetoConnection = null;
  105.                 objetoCommand = null;
  106.             }
  107.             return ds;
  108.         }
  109.  
  110.         /// <summary>
  111.         /// Constructor de la clase
  112.         /// </summary>
  113.         public DALSQLServer()
  114.         {
  115.             _connectionString = "";
  116.             _sqlCommand = "";
  117.             objetoConnection = null;
  118.             objetoCommand = null;
  119.         }
  120.  
  121.         public DALSQLServer(String connectionString,String sqlComand)
  122.         {
  123.             _connectionString = connectionString;
  124.             _sqlCommand = sqlComand;
  125.             objetoConnection = null;
  126.             objetoCommand = null;
  127.         }
  128.     }
  129. }

Con respecto al punto de interrupción, lo marco, apreto la flecha en modo debug, y me dice que el código fuente original es distinto, así que no se detiene en el breakpoint, y me tira el error -.-.

Con respecto al DataTable, tengo otro ejemplo funcional, en el cual uso la misma forma de devolver los datos del tipo List<> sin DataTable, y nunca me lanzó ese error... He visto aquel ejemplo, y tengo prácticamente lo mismo... Quizá la consulta no se está ejecutando y me devuelve nulo... Pero la verdad no lo sé...

Agradezco sus respuestas, seguiré intentando.
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.