Foros del Web » Programando para Internet » ASPX (.net) »

Problema al abrir conexión open() en función NullReferenceException

Estas en el tema de Problema al abrir conexión open() en función NullReferenceException en el foro de ASPX (.net) en Foros del Web. Estoy trabajando con una base de datos en sql server. La cadena de conexión sé que está correcta porque es la misma que utilizo en ...
  #1 (permalink)  
Antiguo 19/09/2011, 16:38
 
Fecha de Ingreso: agosto-2007
Mensajes: 9
Antigüedad: 16 años, 8 meses
Puntos: 0
Problema al abrir conexión open() en función NullReferenceException

Estoy trabajando con una base de datos en sql server.

La cadena de conexión sé que está correcta porque es la misma que utilizo en otros formularios y me funciona.

El formulario que estoy creando en asp y c#, lo que muestro es un textbox y un botón para introducir una cuenta nueva, y al pulsar el botón, mostrará todas las cuentas que hay, incluyendo la última creada en un gridview.
Estoy siguiendo unos ejemplos que tengo en los apuntes, pero no acabo de averiguar donde está el fallo.

El error me lo da en el método cargardatos(), concretamente en la línea que hago el oconexion.open();

Me da el siguiente error:
Referencia a objeto no establecida como instancia de un objeto.


He leído que si es porque no utilizo la palabra new(), pero no sé como solucionarlo.

El código que tengo es el siguiente:
Código:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;

public partial class frmNuevaCuenta : System.Web.UI.Page
{
 
    private SqlConnection oconexion;
    private DataSet odataset;
    private SqlDataAdapter odataadapter;

    protected void Page_Load(object sender, EventArgs e)
    {
        //establecer conexión
        SqlConnection oconexion = new SqlConnection();
        oconexion.ConnectionString = "Server=.\\SQLEXPRESS;" + "DataBase=contabilidad;" + "Integrated Security=SSPI;";
        //Crear adaptador
        odataadapter = new SqlDataAdapter();

        //Crear comando para inserción y consulta con sus parámetros y asignarlo al adaptador

        //SQL de Inserción
        string commandText1 = "INSERT INTO Cuenta (cuentaNombre) VALUES (@cuentaNombre)";
        SqlCommand ocmdinsercion = new SqlCommand(commandText1, oconexion);
        odataadapter.InsertCommand = ocmdinsercion;
        odataadapter.InsertCommand.Parameters.Add("@cuentaNombre", SqlDbType.VarChar);

        //SQL de Selección
        string commandText2 = "SELECT * FROM CUENTA";
        SqlCommand ocmdConsulta = new SqlCommand(commandText2, oconexion);
        odataadapter.SelectCommand = ocmdConsulta;
        //Crear conjunto de datos
        odataset = new DataSet();
        cargardatos();
    }


    protected void cargardatos()
    {
        odataset.Clear(); //Vaciar el DataSet
        oconexion.Open(); //Abrir Conexion
        //Utilizar el adaptador para llenar el dataset con una tabla
        odataadapter.Fill(odataset, "Cuenta");
        oconexion.Close(); //Cerrar conexion
        //Enlazar el Dataset con el Datagrid
        GridView1.DataSource = odataset;
        GridView1.DataMember = "Cuenta";
    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        odataadapter.InsertCommand.Parameters["@cuentaNombre"].Value = cuentaNom.Text;
        oconexion.Open(); //Abrir Conexion
        odataadapter.InsertCommand.ExecuteNonQuery(); //Ejecutar comando de inserción del adaptador
        oconexion.Close(); //Cerrar conexión
        cargardatos();
    }


}
Me da la impresión de que el fallo es una tontería, pero no logro resolverlo y me está volviendo loco.

Última edición por snowlis; 19/09/2011 a las 17:00
  #2 (permalink)  
Antiguo 22/09/2011, 12:03
 
Fecha de Ingreso: febrero-2007
Mensajes: 46
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: Problema al abrir conexión open() en función NullReferenceException

intenta declarando tu conexión asi

Código:
private SqlConnection oconexion  = new sqlconnecion(""Server=.\\SQLEXPRESS;" + "DataBase=contabilidad;" + "Integrated Security=SSPI;"");
y ya no la crees en el page load

Etiquetas: asp, open, formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:41.