• Jueves 2 de Mayo de 2024, 05:07

Autor Tema:  NO REGISTRA (Form Insetar datos a una tabla de Oracle)  (Leído 1510 veces)

jose#

  • Miembro activo
  • **
  • Mensajes: 49
    • Ver Perfil
NO REGISTRA (Form Insetar datos a una tabla de Oracle)
« en: Jueves 30 de Abril de 2009, 17:49 »
0
Hola amigos programadores realizo un pequeño programa soy nuevo en esto busque en intenet sobre esto, tengo barios textbox para ingresar allido los datos
y una base de datos en oracle "PERUDEV" mi tabla es "PROVEEDOR" lo que quiero hacer es insertar datos en esta tabla el codigo es:

Citar
// todo este codigo esta dentro del eventoclick del un boton

    OracleConnection cn = new OracleConnection("Data Source=Perudev;User ID=jose1;Password=elenita;Unicode=True");
        OracleCommand cmd;

 cn.Open();
            string sqlInsert = "INSERT INTO PROVEEDOR(IDPROVEEDOR,NOMBRE, REPRESENTANTE, DIRECCION, CIUDAD, DEPARTAMENTO, CODIGOPOSTAL, TELEFONO, FAX) VALUES(@idproveedor,@nombre,@representante,@direccion,@ciudad,@departamento,@codigopostal,@telefono,@fax)";
               
            cmd = new OracleCommand(sqlInsert,cn);
            cmd.Parameters.Add(new OracleParameter("@idproveedor", OracleType.Int32));
            cmd.Parameters["@idproveedor"].Value = txtIdProveedor.Text;
            cmd.Parameters.Add(new OracleParameter("@nombre", OracleType.VarChar, 40, "NOMBRE"));
            cmd.Parameters["@nombre"].Value = txtNombre.Text;
            cmd.Parameters.Add(new OracleParameter("@representante", OracleType.VarChar, 30, "REPRESENTANTE"));
            cmd.Parameters["@representante"].Value = txtRepresentante.Text;
            cmd.Parameters.Add(new OracleParameter("@direccion", OracleType.VarChar, 60, "DIRECCION"));
            cmd.Parameters["@direccion"].Value = txtDireccion.Text;
            cmd.Parameters.Add(new OracleParameter("@ciudad", OracleType.VarChar, 15, "CIUDAD"));
            cmd.Parameters["@ciudad"].Value = txtCiudad.Text;
            cmd.Parameters.Add(new OracleParameter("@departamento", OracleType.VarChar, 15, "DEPARTAMENTO"));
            cmd.Parameters["@departamento"].Value = txtDepartamento.Text;
            cmd.Parameters.Add(new OracleParameter("@codigopostal", OracleType.VarChar, 15, "CODIGOPOSTAL"));
            cmd.Parameters["@codigopostal"].Value = txtCodPostal.Text;
            cmd.Parameters.Add(new OracleParameter("@telefono", OracleType.VarChar, 15, "TELEFONO"));
            cmd.Parameters["@telefono"].Value = txtTelefono.Text;
            cmd.Parameters.Add(new OracleParameter("@fax", OracleType.VarChar, 15, "FAX"));
            cmd.Parameters["@fax"].Value = txtFax.Text;
           // cuando lo ejecuto en modo prueba aqui me sale InvalidOOperationException
           //no se ha cerrado la connecion el estado de la connecion esta abierta
                cmd.Connection.Open();
                cmd.ExecuteNonQuery();
                cmd.Connection.Close();
                txtCiudad.Text = " ";
                txtCodPostal.Text = " ";
                txtDepartamento.Text = "";
                txtDireccion.Text = "";
                txtFax.Text = "";
                txtIdProveedor.Text = "";
                txtNombre.Text = "";
                txtRepresentante.Text = "";
                txtTelefono.Text = "";

                label1.Text = "Datos registrados";
               cn.Close();


No se que puede pasar pero yo realizaba la mismo codigo con sqlserver y daba, claro que ahora de tiene que cambiar por los objetos del proveedor Oracle
cualquier cosa seria de mucha ayuda para mi, de antemano muchas gracias..

edwin_orlando83

  • Nuevo Miembro
  • *
  • Mensajes: 14
    • Ver Perfil
Re: NO REGISTRA (Form Insetar datos a una tabla de Oracle)
« Respuesta #1 en: Jueves 4 de Junio de 2009, 01:21 »
0
trata de poner de esta manera:

VALUES('"+txtIdProveedor.Text+"', ' " +txtNombre.Text; +" '  ,...........)
para no añadir parametros
y ejecutar el sqlInsert

jose#

  • Miembro activo
  • **
  • Mensajes: 49
    • Ver Perfil
Re: NO REGISTRA (Form Insetar datos a una tabla de Oracle)
« Respuesta #2 en: Viernes 12 de Junio de 2009, 04:44 »
0
Realize este codigo
Citar
string strInsert = "Insert into Proveedor values('" + txtIdProveedor.Text + "','" + txtNombre.Text + "','" + txtRepresentante.Text + "','" + txtDireccion.Text + "','" + txtCiudad.Text + "','" + txtDepartamento.Text + "','" + txtCodigoPostal.Text + "','" + txtTelefono.Text + "','" + txtFax.Text + "')";
            OracleCommand cmd = new OracleCommand(strInsert,con);
            cmd.Connection.Open();
            cmd.ExecuteNonQuery();
            cmd.Connection.Close();

            try
            {
                con.Open();
                string sql = "select * from proveedor";
                da = new OracleDataAdapter(sql, con);
                ds = new DataSet();
                da.Fill(ds, "PROVEEDOR");
                dataGridView1.DataMember = "PROVEEDOR";
                dataGridView1.DataSource = ds;

            }
            catch (Exception ex)
            {

                MessageBox.Show(ex.Message.ToString());
            }
            con.Close();

y todo bien muchas gracias amigo edwin_orlando83