Visual Basic.NET - Problemas con los oracleparameters

   
Vista:

Problemas con los oracleparameters

Publicado por Gabriel (13 intervenciones) el 17/02/2010 14:29:20
Buenos días:

Estoy tratando de usar parámetros para realizar operaciones DML contra una BD Oracle 10g Express Edition.

Una vez satisfactoriamente conectado a la BD intento esto pero ...

Private Sub cmdInsertarConParametros_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdInsertarConParametros.Click
Dim comando As New OracleCommand
comando.Connection = conexion
comando.CommandType = CommandType.Text

comando.CommandText = "INSERT INTO DEPARTMENTS VALUES (DEPARTMENTS_SEQ.NEXTVAL,':nombre', :jefe, :situacion)"
Dim department_name As New OracleParameter
With department_name
.ParameterName = ":nombre"
.OracleType = OracleType.VarChar
.Value = Me.txtDepartment_name.Text
End With

Dim manager_id As New OracleParameter
With manager_id
.ParameterName = ":jefe"
.OracleType = OracleType.Number
.Value = CType(Me.txtManager_id.Text, Integer)
End With

Dim location_id As New OracleParameter
With department_name
.ParameterName = ":situacion"
.OracleType = OracleType.Number
.Value = CType(Me.txtLocation_id.Text, Integer)
End With

comando.Parameters.Add(department_name)
comando.Parameters.Add(manager_id)
comando.Parameters.Add(location_id)

Try
comando.ExecuteNonQuery()
MessageBox.Show("Registro insertado")
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub

Funciona solo parcialmente. No tengo problema con el deparment_id, el manager_id o el location_id pero en el department_id me inserta ":nombre" en lugar de la cadena que yo quiero.

¿Alguién puede decirme donde está el error?.

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problemas con los oracleparameters

Publicado por Gabriel (13 intervenciones) el 17/02/2010 22:14:14
Saludos a todos:

Ya descubrí porque la aplicación se comportaba de una forma tan extraña con los oracleparameters. Perdonar, pues se trata de un fallo mío de programación por hacer corta y pega y no prestar suficiente atención.

Dim location_id As New OracleParameter
With department_name <----------------------------------------- Debería haber puesto With location_id
.ParameterName = ":situacion"
.OracleType = OracleType.Number
.Value = CType(Me.txtLocation_id.Text, Integer)
End With

Realmente no se porque se comportaba la aplicación de la forma extraña que describí pero ahora ya funciona bien.

Muchas gracias y perdonar el tiempo perdido.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar