![]() |
Problemas con Consultas!!!
Hola, tengo un problemilla, lo que pasa esque estoy haciendo un pequeño sistema en el cual estoy registrando proyectos que se realizan dentro de una escuela, pero para registrar un proyecto necesito verificar si no existe alguno parecido que ya este registrado, para esto hago una consulta, el problema aqui esque debajo del codigo de la consulta quiero poner una condicion la cual me diga que si el resultado de la consulta es mayor o igual que uno(osea que si encontro algun proyecto similar)no me permita registrar el nuevo proyecto y si es igual a cero que si lo registre.
Bueno el chiste es que no se como saber si la consulta arrojo resultados o no, si alguien me puede ayudar se lo agradezco de antemano... A mi consulta es la siguiente: query1.close; query1.open; query1.SQL.clear; query1.sql.add('Select tbl_proyectos.Num_Control,tbl_proyectos.Titulo'); query1.sql.add('from tbl_proyectos'); query1.sql.add('where tbl_proyectos.cve_empresa=:empresa and tbl_proyectos.cve_tipo=:tipo and tbl_proyectos.num_control<>:control'); query1.ParamByName('empresa').datatype:=ftstring; query1.ParamByName('tipo').datatype:=ftstring; query1.ParamByName('empresa').value:=e_empresa.text; query1.ParamByName('tipo').value:=e_tipop.text; query1.ParamByName('control').datatype:=ftstring; query1.ParamByName('control').value:=e_numcontrol.text; query1.open; Espero me haya sabido explicar... jeni |
creo que con
Código:
Query1.RecordCount > 0 |
Tengo entendido que en Tablas paradox el RecordCount funciona bien, pero en otros sistemas puede dar un valor erróneo.
Una alternativa que nunca falla es: Código:
|
Otra opción que tienes si no te funciona el recordCount, que funciona en casi todas las BBDD es poner un contador y recorrer la consulta hasta que el contador sea mayor que 1, y utilizar una variable para salir del bucle cuando sea:
acabado:boolean; acabado:=false; while (not query.eof) and (not acabado) then begin i:=i+1; if i>1 then acabado:=true; end; Espero que sirva de ayuda. |
Lo mejor es lo que comenta el amigo Lepe, es decir, comprobar el estado de IsEmpty
Código:
try |
La franja horaria es GMT +2. Ahora son las 04:13:37. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi