SoloCodigo
CLR: .Net / Mono / Boo / Otros CLR => C# => Mensaje iniciado por: jose# en Jueves 30 de Abril de 2009, 17:49
-
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:
// 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..
-
trata de poner de esta manera:
VALUES('"+txtIdProveedor.Text+"', ' " +txtNombre.Text; +" ' ,...........)
para no añadir parametros
y ejecutar el sqlInsert
-
Realize este codigo
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