Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-11-2005
Avatar de kakesoft
kakesoft kakesoft is offline
Miembro
 
Registrado: dic 2004
Ubicación: Cuba
Posts: 99
Poder: 20
kakesoft Va por buen camino
Thumbs up Campo de tabla con valores con un mismo nombre

Lo que quisiera hacer es sencillo, tengo una tabla que se llama Tabla1 y esa tabla tiene dos campos uno es Nombre y otro es Contraseña, en mi proyecto muestro un Form donde el visitante a mi aplicación puede crearse un nuevo usuario y quisiera saber cómo detectar si ya existe un usuario con el nombre Guille y entran otro con el mismo nombre entonces mostrar un mensaje diciendo o dando a conocer la existencia en la base de datos un usuario con ese nombre ya. No se si me entiendo lo que quisiera es que en el campo Usuarios no hallan dos valores insertados que coincidan. ok saludosss de antemano y graciassss
Responder Con Cita
  #2  
Antiguo 24-11-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Saludos

Tienes 2 opciones:
1) Crear un indice primario (el campo "Nombre") y capturar la Exception al momento de querer insertar un valor duplicado.

2) Utilizar el metodo Locate* del dataset. if table1.locate(.....)

*Existe un ejemplo en la ayuda de delphi!!!
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #3  
Antiguo 24-11-2005
Avatar de kakesoft
kakesoft kakesoft is offline
Miembro
 
Registrado: dic 2004
Ubicación: Cuba
Posts: 99
Poder: 20
kakesoft Va por buen camino
Socio si está dentro de tus posibilidades me gustaría que me explicaras un poquito mejor sobre esta función para utilizarla en base a lo que quiero lograr, o sea, un ejemplito de código para yo ponerlo en práctica y decirte que tal o cómo me pincho ok, cuídate brother graciasss
Responder Con Cita
  #4  
Antiguo 24-11-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Saludos

Disculpa que te lo diga, pero no puedo darte mas informacion aunque quiera, pues en la ayuda existe, y bastante clara. Aqui en el foro tambien existe mucha informacion y de calidad.
Pon un poquito de tu parte men
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #5  
Antiguo 24-11-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Opta por la opción (1) que te comentan. Es la más eficiente y segura y lo único que tienes que programar es la captura del error.
__________________
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.
Responder Con Cita
  #6  
Antiguo 24-11-2005
Avatar de mazinger
mazinger mazinger is offline
Miembro
 
Registrado: jul 2004
Ubicación: Zamora
Posts: 85
Poder: 20
mazinger Va por buen camino
Sin embargo, el establecer limitaciones en la base de datos, tiene el problema de si tienes en algún momento que modificar la propia base de datos que tengan los clientes.
También puedes optar por examinar con un SQL la existencia del nombre concreto por ejemplo

SQL.Add('SELECT Nombre FROM Tabla1 Where Nombre = "Guille"');
Open;
If RecordCount>0 Then ShowMessage('Ya existe el nombre de usuario');
__________________
Visita mi página (en construcción):

http://mazinger.wordpress.com/
Responder Con Cita
  #7  
Antiguo 24-11-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por mazinger
Sin embargo, el establecer limitaciones en la base de datos, tiene el problema de si tienes en algún momento que modificar la propia base de datos que tengan los clientes.
Correcto, pero es que si no lo haces así tendrás una situación potencialmente peligrosa, ya que puedes estar pensando que el programa no va a dejar utilizar nombres duplicados, pero encambio la Base de Datos pueder ser que los tenga.
Entonces es como si no hicieras nada, porque estás programando una cosa, que luego no te puedes fiar de que se cumpla (por los registros antiguos). Así que considero que, lo hagas como lo hagas, debes modificar la Base de Datos igualmente, para dejarla coherente y correcta.

Cita:
Empezado por mazinger
También puedes optar por examinar con un SQL la existencia del nombre concreto...
Aunque funciona, creo que es una solución redundante; Es una comprobación que va a realizar la BD (con un índice único) de forma más eficiente, entonces, ¿Porqué programarla nosotros?
__________________
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.
Responder Con Cita
  #8  
Antiguo 25-11-2005
Avatar de kakesoft
kakesoft kakesoft is offline
Miembro
 
Registrado: dic 2004
Ubicación: Cuba
Posts: 99
Poder: 20
kakesoft Va por buen camino
Vtdeleon se que tu cuestión no está en que no quieras ayudarme, de hecho me estás ayudando, pero me haría falta que me dijeras un poquito más exacto dónde o sea en qué parte de la ayuda de delphi se encuentra eso, es que la ayuda de delphi es muy grande brother, y en cuanto a Neftali me gustaría si no es de molestia que me pusiera un ejemplito de código de como puedo capturar el error del que habla que a penas se cual es ese error ok no se molesten pienso que tienen las más buenas intenciones de ayudarme ok cuídense saludosss
Responder Con Cita
  #9  
Antiguo 25-11-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Saludos
Cita:
Empezado por kakesoft
pero me haría falta que me dijeras un poquito más exacto dónde o sea en qué parte de la ayuda de delphi se encuentra eso, es que la ayuda de delphi es muy grande brother,
Una de las mejores cosas que han hecho el equipo de "Borldand Delphi" es la ayuda, solo con posicionar el cursor en cualquier propiedad, metodo, funcion, procedimiento,... y darle a F1 y aparecera la ayuda apuntando a esa propiedad, metodo,.....; definiendolo y explicandolo
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #10  
Antiguo 26-11-2005
Avatar de kakesoft
kakesoft kakesoft is offline
Miembro
 
Registrado: dic 2004
Ubicación: Cuba
Posts: 99
Poder: 20
kakesoft Va por buen camino
ok men el problema no es ese yo eso si me lo se y lo he utilizado mucho pero es que me salen varias ayudas sobre Locate y no se donde está, he buscado en algunas y no me sale el ejemplo
Responder Con Cita
  #11  
Antiguo 26-11-2005
Avatar de kakesoft
kakesoft kakesoft is offline
Miembro
 
Registrado: dic 2004
Ubicación: Cuba
Posts: 99
Poder: 20
kakesoft Va por buen camino
Socio discúlpame pero no he podido dar con lo que busco y he visto algo de código si puedes ayúdame un poco más, eso no te cuesta tanto creo yo, socio te lo agradeceré muchísimo, estoy hasta el cuello con eso, es lo unicó casi casi que me falta para terminar mi tesis
Responder Con Cita
  #12  
Antiguo 26-11-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
En Delphi7 abres el contenido de la ayuda (primera pestaña), abres el tema "Developing Database Applications" y el subtema "Understanding datasets". Ahí encontrarás el tópico "Using Locate" en donde encontrarás el ejemplo de uso.

// Saludos
Responder Con Cita
  #13  
Antiguo 26-11-2005
Avatar de kakesoft
kakesoft kakesoft is offline
Miembro
 
Registrado: dic 2004
Ubicación: Cuba
Posts: 99
Poder: 20
kakesoft Va por buen camino
Socio discúlpame pero no he podido dar con lo que busco y he visto algo de código si puedes ayúdame un poco más, eso no te cuesta tanto creo yo, socio te lo agradeceré muchísimo, estoy hasta el cuello con eso, es lo unicó casi casi que me falta para terminar mi tesis
Responder Con Cita
  #14  
Antiguo 27-11-2005
fidel fidel is offline
Miembro
 
Registrado: mar 2005
Posts: 381
Poder: 20
fidel Va por buen camino
Hola:

Parece que copiar y pegar la misma muletilla, ... Socio disculpame...., si que sabes, pero deberías poner un poco más de interés por tu parte.

Dices que sabes buscar en Delphi, pero o no sabes bien o no sabes exponer tus dudas.

Mira esfuerzate un mínimo y haz esto:

- Carga Delphi.

- Ecribe en cualquier sitio seis letras e, t, a, c, o, l pero molestate un poco y ponlas en orden de tal forma que pongan una palabra que es "locate".

- Selecciona esta palabra tan dificil que has escrito y pulsa una tecla que hay en la parte superior izquierda del teclado que tiene una letra mayúscula que en el abecedario va detrás de la E y un número que es el primero de los números enteros positivos.

- Si tienes la misma versión de delphi que yo y en el mismo idioma te aparecerá una ventana que dice así:
Temas encontrados.
Haga click en un tema y después en Mostrar.

Esto hay que leerselo para saber lo que pone, de lo contrario no te enterarás de nada.

En mi versión hay ocho temas, no es tan dificil ir mirándolos, pero da la casualidad que si escojo el primer tema me sale algo que no voy a poner aquí.

A partir de ahí si algo sigues sin entender sigues preguntado, pero con algo más de interés por tu parte, porque al fín y al cabo es a quien le intersa.

Aunque supongo que todo esto que he escrito es mucho esfuerzo leertelo y no servirá de nada.

Un salulo.
Responder Con Cita
  #15  
Antiguo 28-11-2005
Avatar de kakesoft
kakesoft kakesoft is offline
Miembro
 
Registrado: dic 2004
Ubicación: Cuba
Posts: 99
Poder: 20
kakesoft Va por buen camino
ok muchas gracias pienso que me por lo expuesto y se los agradezco mucho ya que tendré en cuenta todo eso que me dices Fide ok saludosss para todos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 14:28:28.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi