FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
[SOLUCIONADO] SQL Query error parameter 'sens' not found
Hola a todos, les agradeceria mucho su ayuda, soy nuevo en esto, estoy trabajando con Delphi 7 y al reutilizar el siguiente código en otra parte de la misma Unit, me aparece el error :
"Query3 parameter 'sens1' not found. Será que las sentencias query3.clear y query3.active=false no son suficientes para limpiar el código de este query. Ojalá me puedan decir que me falta para poder reutilizar el query3 sin problemas. De antemano muchas gracias Mi código es :
Última edición por dec fecha: 11-07-2017 a las 11:22:26. Razón: Poner etiqueta DELPHI |
#2
|
||||
|
||||
Recuerda utilizar TAG's
Una pista para solucionar tu problema: imprime en pantalla la consulta SQL, por ejemplo, de esta manera:
Por otra parte, te recomiendo que no utilices la sentencia with para nada, pero es un tema bastante personal. El problema que tiene es que pueden ocurrir ambiguedades |
#3
|
|||
|
|||
error con sql
Gracias Agustin por el apoyo, en pantalla me aparece siempre la misma sentencia y se produce el mismo error.
Por el momento estoy probando lo que encontré en otro hilo, si tienes otro dato, bienvenido Gracias por la ayuda |
#4
|
||||
|
||||
La construcción en prinicipio parece correcta.
Tendrías que colocar la SQL completa y/o un ejemplo donde se reproduzca.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#5
|
|||
|
|||
Hola...
Me parece recordar, que primero tendrías que preparar el query para que pueda reconocer los parámetros:
Saludos... |
#7
|
||||
|
||||
Cita:
Saludos
__________________
Caminante, son tus huellas el camino y nada más; Caminante, no hay camino, se hace camino al andar. Antonio Machado |
#8
|
||||
|
||||
Solo se me ocurre que no tengas la propiedad Connection enlazada
|
#9
|
|||
|
|||
Dentro del With vuelves utilizar:
Código:
query3.parambyname('sens1').asInteger:= dsensor; |
#10
|
||||
|
||||
Como dicen todos, en principio parece correcto. ¿estás seguro que es el lugar donde está marcando el error? (solo por descartar)
No tengo mas que correcciones de forma: (sugierousar open y close en luagar del active, es solo de forma)
Ahora, para verificar que es lo que pasa, revisa los parametros que te estan llegando... por ejemplo imprimiendo con un showmessage el Query3.Paramscount (No se si es asi o Query3.Params.count) Otra opcion es que utilices el indice del parametro:
y por ultimo, podrias solucionar tu problema, pero no es la respuesta a este hilo:
|
#11
|
||||
|
||||
Una cosa mas... en la ventana de propiedades puedes ver la propiedad Params, que es una colección de TParams... puede ser que se hayan ingresado en tiempo de diseño los parametros y por esta razon puede que esté causando algún conflicto...
Aunque dicha propiedad deberia cambiarse cuando asignas nuevamente la sentencia SQL a tu Query3. saludo, |
#12
|
|||
|
|||
Query no reconoce los parametros
Hola, gracias de nuevo por sus respuestas, he seguido probando alguna solución y el problema persiste, aislé el código a una sola form con la misma sintaxis ya que mi programa tiene muchos query. Los efectos son los mismos, esto es, la primera y segunda vez que el programa ejectua el query lo hace sin errores pero la tercera vez arroja el error maldito y lo hace con las sentencias select y las update.
Estoy trabajando en Windows 10 y me arroja un error al abrir Delphi, sin embargo todo anda bien salo el BDE que aparece con unos botones desactivados, esto lo salvé creando mis tabla con sentencias SQL, no creo que mi problema sea con windows?, que opinan? Les dejo el código que estoy usando para tratar de encontrar el problema, eliminé las sentencias with, apliqué el query.prepare, y nada. El código lo ejecuto desde un botón y al primer click, todo ok, al segundo igual , pero al tercero aparece el mensaje "parameter 'fe_ent_adm' not found. Mi programa debe usar esta procedimiento n veces, si no arreglo esto estoy frito. pensaba que el asunto andaba por los tipos "as.datetime" o "as.time", etc pero no me dio resultado. Mucha Gracias de nuevo perdonen no sé como insertar el código en la ventana. procedure TForm5.Button1Click(Sender: TObject); var Fecha_temp:TDateTime; Hora_temp:TDateTime; ruta_q2:string; numer_cab:Integer; begin Table2.Open; Table1.Open; ruta_q2:=TRIM(Table2.fieldbyname('RUTA_DATOS').value); ruta_q2:=ruta_q2 + '\REG_CALC1_ABTOS.DB'; //TABLE 1 Fecha_temp:= StrToDate('01-05-2017'); Hora_temp:= StrToTime('22:10:00'); numer_cab:=26; query1.Close; query1.SQL.Clear; query1.Params.Clear; query1.SQL.Text:= 'UPDATE "'+ruta_q2+'" SET FE_ENT_ADM = :fe_ent_adm, HR_ENT_ADM = :hr_ent_adm WHERE NUM_CAB_HAB = :n9_cab'; query1.Parambyname('fe_ent_adm').AsDateTime := Fecha_temp; query1.Parambyname('hr_ent_adm').AsTime := Hora_temp; query1.Parambyname('n9_cab').AsInteger := numer_cab; query1.SQL.EndUpdate; query1.ExecSQL; DBGrid1.DataSource:=Datasource1; Table1.Close; Table2.Close; end; end. |
#13
|
|||
|
|||
Query no reconoce los parametros
Hola, gracias de nuevo por sus respuestas, he seguido probando alguna solución y el problema persiste, aislé el código a una sola form con la misma sintaxis ya que mi programa tiene muchos query. Los efectos son los mismos, esto es, la primera y segunda vez que el programa ejectua el query lo hace sin errores pero la tercera vez arroja el error maldito y lo hace con las sentencias select y las update.
Estoy trabajando en Windows 10 y me arroja un error al abrir Delphi, sin embargo todo anda bien salo el BDE que aparece con unos botones desactivados, esto lo salvé creando mis tablas con sentencias SQL, no creo que mi problema sea con windows?, que opinan? Les dejo el código que estoy usando para tratar de encontrar el problema, eliminé las sentencias with, apliqué el query.prepare, y nada. El código lo ejecuto desde un botón y al primer click, todo ok, al segundo igual , pero al tercero aparece el mensaje "parameter 'fe_ent_adm' not found. Mi programa debe usar esta procedimiento n veces, si no arreglo esto estoy frito. pensaba que el asunto andaba por los tipos "as.datetime" o "as.time", etc pero no me dio resultado. Mucha Gracias de nuevo perdonen no sé como insertar el código en la ventana. procedure TForm5.Button1Click(Sender: TObject); var Fecha_temp:TDateTime; Hora_temp:TDateTime; ruta_q2:string; numer_cab:Integer; begin Table2.Open; Table1.Open; ruta_q2:=TRIM(Table2.fieldbyname('RUTA_DATOS').value); ruta_q2:=ruta_q2 + '\REG_CALC1_ABTOS.DB'; //TABLE 1 Fecha_temp:= StrToDate('01-05-2017'); Hora_temp:= StrToTime('22:10:00'); numer_cab:=26; query1.Close; query1.SQL.Clear; query1.Params.Clear; query1.SQL.Text:= 'UPDATE "'+ruta_q2+'" SET FE_ENT_ADM = :fe_ent_adm, HR_ENT_ADM = :hr_ent_adm WHERE NUM_CAB_HAB = :n9_cab'; query1.Parambyname('fe_ent_adm').AsDateTime := Fecha_temp; query1.Parambyname('hr_ent_adm').AsTime := Hora_temp; query1.Parambyname('n9_cab').AsInteger := numer_cab; query1.SQL.EndUpdate; query1.ExecSQL; DBGrid1.DataSource:=Datasource1; Table1.Close; Table2.Close; end; end. |
#14
|
||||
|
||||
Hola cvlaso77,
Esta línea donde pone "query1.SQL.EndUpdate" que la utilizas?, a ver si el problema es ese. Un saludo.
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber. |
#15
|
|||
|
|||
Query no reconoce los parametros, RESUELTO
Muchas Gracias Orbe por tu sugerencia, al sacar el comando sql update, se resuelve el problema y el procedimiento funciona perfecto.
No sé de donde saqué este comando, asumo que al usar la rutina with, donde tambien aparece el mismo problema al usar este comando. Agradezco mucho a todos los que vieron mi consulta y dedican su tiempo a este foro, y los felicito por eso, ojalá esto hubiera existido en mis tiempos de la Univ de BASIC, PASCAL y otros. Saludos a todos |
#16
|
|||
|
|||
Query no reconoce los parametros, RESUELTO
Una cosa más, me expresé mal, el comando que produce el error es "query1.SQL.EndUpdate", saludos
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
[SOLUCIONADO] Error componentes JCL y JVCL | tuni | Varios | 5 | 28-06-2017 14:59:05 |
Invalid Parameter en query | Robert | SQL | 6 | 27-10-2015 22:04:32 |
Error E2009 en evento de TWebBrowser : Parameter lists differ | (MAJ) | OOP | 8 | 29-07-2015 20:26:02 |
ayuda error query:field 'id' not found | edgar_prospero | Varios | 15 | 31-08-2012 01:43:11 |
"ADOQUERY3: Parameter 'p' not found" error (POR FAVOR AYUDA) | JuanchoDev | Conexión con bases de datos | 20 | 21-04-2010 23:36:19 |
|