Problema de OracleParameter a Int32

Tengo un código SQL de la siguiente manera:

public void UpdateDatabase(String strParam1, int row)
        {
            System.Data.OracleClient.OracleConnection conn = new System.Data.OracleClient.OracleConnection();
            conn.ConnectionString = "Data Source=(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.5.144)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = orcl)));UID=mwm;PWD=mwm"; 
                conn.Open();
                OracleCommand command = conn.CreateCommand();                       
               command.CommandText = "Select id from Task";
                OracleParameter taskId = new OracleParameter();
                taskId.DbType = DbType.Int32;                        
                taskId.Value = taskId;
                taskId.ParameterName = "taskId";
                command.Parameters.Add(taskId);
                command.ExecuteNonQuery();
                command.Dispose();
            }
        }

Cuando se llega a ExecuteNonQuery, aparece el error "Error al convertir el valor del parámetro de OracleParameter a Int32" ¿Qué está mal aquí? Busqué en Google pero no pude llegar a una conclusión.

preguntado el 04 de julio de 12 a las 09:07

2 Respuestas

En este taskId.Value = taskId; te estás asignando taskId que es del tipo OracleParameter un valor taskID, está esperando un valor int. En otras palabras, está asignando lo mismo a su parámetro de valor. Ya que has definido: taskId.DbType = DbType.Int32; está esperando un valor int, y probablemente no lo haya escrito para asignarlo taskId de nuevo.

Respondido 04 Jul 12, 10:07

Añadir ajustar su consulta

"Select id from Task where id = taskId";

Respondido 14 Jul 12, 07:07

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.