Problema de OracleParameter a Int32
Frecuentes
Visto 349 equipos
0
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.
2 Respuestas
1
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
0
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 c# .net sql oracle11g or haz tu propia pregunta.