FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Argumentos incorrectos fuera del intervalo permitido o en conflicto con otros
Buen día, me arroja este error en c++ builder cuando intento hacer un consulta a la Base de datos (Maria DB) con esta francción de código
Código:
DM->ADOQuery->Close(); DM->ADOQuery->SQL->Clear(); DM->ADOQuery->SQL->Add("call loadPaciente(:cadena, 'Paciente_Identificador')" ); DM->ADOQuery->Parameters->ParamByName("cadena")->Value = Clave; DM->ADOQuery->Prepared; DM->ADOQuery->Open(); He visto otros hilos con este tema pero ningun ha sido de ayuda De antemano muchas gracias |
#2
|
||||
|
||||
Pon la definición del procedimiento almacenado para que podamos examinar qué pasa.
LineComment Saludos |
#3
|
|||
|
|||
Aqui esta el procedimiento almacenado
Filtro = nombre de la columna que debe consultar cadena = texto para hacer el filtro Última edición por roman fecha: 12-10-2017 a las 17:54:39. Razón: Corregir la etiqueta SQL |
#4
|
||||
|
||||
Cita:
LineComment Saludos |
#5
|
|||
|
|||
Código:
DM->ADOQuery->Close(); DM->ADOQuery->SQL->Clear(); DM->ADOQuery->SQL->Add( "SELECT cl00_Identificador, cl00_Nombre, cl00_ApellidoPaterno," "TIMESTAMPDIFF(year, cl00_FechaNacimiento, CURDATE())," "cl00_Telefono, cl00_Celular FROM cl00 "); //Lo agrego en lineas diferentes porque aqui se toma una desición con un SWITCH para saber cual tabla va a consultar DM->ADOQuery->SQL->Add("WHERE cl00_Identificador like :cadena " "ORDER BY cl00_Identificador;" ); DM->ADOQuery->Parameters->ParamByName("cadena")->Value = Clave + '%'; DM->ADOQuery->Prepared; DM->ADOQuery->Open(); Saludos |
#6
|
||||
|
||||
¿Qué pasa si antes de asignar valor al parámetro pones:
Código:
DM->ADOQuery->Parameters->ParamByName("cadena")->DataType = ftString; LineComment Saludos |
#7
|
|||
|
|||
Cita:
Sigue mostrando el mismo error. Roman eh encontrado el error aunque no se como solucionarlo. Hice una prueba de la siguiente forma: Código:
DM->ADOQuery->SQL->Add("call loadPaciente( 'ma' , 'cl00_ApellidoPaterno') " ); |
#8
|
|||
|
|||
Solucion
Ya pude solucionar el problema.
Hice uso del componente ADOStoredProcedures El cual me permite enviar los parametros de la siguiente forma: Código:
DM->ADOStoredProcedure->Parameters->ParamByName("cadena")->Value = filtro; DM->ADOStoredProcedure->Parameters->ParamByName("filtro")->Value = "Paciente_ApellidoPaterno"; "cadena" = nombre del parametro en el SP "filtro" = nombre del segundo parametro en el SP Muchas gracias por tu apoyo Roman Saludos |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Mikropascal , La asignación a la variable de bucle no está permitido | gaston260 | ASM y Microcontroladores | 3 | 02-11-2010 02:04:53 |
1. Aún no tienes permitido poner enlaces ni imágenes | ESarger | La Taberna | 5 | 25-03-2010 22:10:59 |
Instalar BDE manualmente ¿esta permitido?, ¿es legal? | Wonni | Varios | 2 | 02-08-2006 23:25:23 |
Udf y argumentos | rastafarey | Firebird e Interbase | 2 | 29-07-2005 21:12:44 |
|