![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
|||
|
|||
|
Caral tiene razon, lo que quiero hacer es una busqueda en la base de datos y verificar que ese usuario no este agregado, si no esta lo agrego solo que no he podido hacerlo con el while ni con el codigo de caral, he analizado tu codigo caral y creo que hace el recorrido o busca el registro con
, o estoy mal??, Algo mas CARAL, asi aprendo mas y les doy las gracias por su ayuda!! Saludos!!, pero sigo sin saber que esta pasando con mi codigo , por que no termina el ciclo. |
|
#2
|
||||
|
||||
|
Hola odrack,
Analicemos lo que tu pides: 1. Necesitas determinar si un usuario existe en la base de datos 2. En caso de existir no se debe hacer nada 3. Sino existe entonces hay que agregarlo ¿Qué se necesita para conseguir esto? Para saber si existe el usuario necesitamos hacer una consulta a la base de datos. Esta consulta debe ser restrictiva. Tu error es muy conceptual: ¡No se necesita recorrer toda la tabla para saber si existe! La verdadera consulta SQL que debes emplear debe ser así:
pNombre es un parámetro y se los distingue por esos dos puntos que lo anteceden. Recomiendo el uso de éstos. Ahora bien, en la consulta pedimos que nos busque al usuario por un nombre. Entonces antes de lanzar dicha consulta debemos hacer algo como esto:
Suponiendo que son Componentes ADO. Hice el supuesto de que en Edit1 escribimos el nombre del usuario que deseamos buscar. Una vez lanzada la consulta tenemos muchas posibilidades de saber si existe este usuario... no se requiere de ningún bucle. ¿Porqué? Porque supuestamente estamos recibiendo al menos un registo (Esto dependerá de tus circunstancias, pero en fin para ejemplo basta). Podríamos decir que:
¿Que significa esto? Que si la consulta ha devuelto al menos un registro es porque existe. ¿Recorrí los registros afectados para saber si existe? No... y no es necesario... basta con saber si la consulta regresa registros. Y de aqui en más la actividad es muy simple... basta un simple condicional para saber que acción tomar:
Creo que con esto se explica mejor la situación y su solución. Recomiendo una mejor lectura sobre consultas SQL. Tu problema es que haces un select sin restricciones, y asi te ves obligado a examinar los registros... si podemos averiguar a traves de SQL sobre algo en particular vale la pena hacerlo. Saludos, Última edición por Delphius fecha: 01-03-2008 a las 17:18:21. |
|
#3
|
|||
|
|||
|
Que tal!! les doy las gracias a los dos por haberme hecho entender que no necesitaba el ciclo while..do, simplemente habia que igualar los campos y comparar, he comprendido el problema y lo he solucionado gracias a ustedes!!, asi es como quedo el codigo:
Con esto funciona de maravilla, lo unico que tube que hacer es igualar los campos a un dbedit.text que ya tenia anteriormente para una consulta, obviamente primero seleccione los datos e hice que se movieran en el dbedit asi comparo los datos entre EDIT1 y DBEDIT si son iguales que me muestre que ya esta el usuario de lo contrario que lo agrege. Gracias nuevamente!! ![]() |
|
#4
|
||||
|
||||
|
Hola
Me alegro que lo resolvieras, y mas me alegro de que lo hicieras solo, así es como se aprende mas, lo único que necesitabas era una pequeña guía. La explicación que te dio el Maestro Delphius fue impresionante, típica de el. Por suerte hay Maestros como el en el club para ayudarnos a los Novatos. ![]() Saludos |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| error:[Fatal Error] Unit1.pas(7): Unit ZDbcConnection was compiled with a different.. | karaoke | Conexión con bases de datos | 2 | 19-12-2007 10:22:36 |
| Error en este código. FF funciona/IE da error | papulo | HTML, Javascript y otros | 7 | 14-11-2007 09:44:23 |
| Error 10093 al ver un informe - Que error es este? | URBANO | Impresión | 1 | 03-02-2006 18:44:39 |
| ¿Por qué me da este error?Error creating cursor manejador | nuri | SQL | 2 | 01-08-2005 17:30:28 |
| Error: RichEdit line insertation error | DarkByte | Varios | 3 | 19-07-2004 12:28:09 |
|