Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-02-2021
pablocarlos pablocarlos is offline
Miembro
 
Registrado: ene 2021
Posts: 56
Poder: 4
pablocarlos Va por buen camino
Parametros en mysql aplicación cliente servidor

Saludos. Estoy trabajando en una app cliente servidor donde necesito que cuando se registre el cliente en la apps desde su celular, etc.. (en un edit como usuario) verifique en el servidor no esté en uso dicho usuario.
En servidor tengo los fdquerys con sus datasetprovider. En la apps están los clientdataset que se conectan al datasetprovider. en el query del servidor escribo
Código SQL [-]
SELECT Usuario from persona where Usuario = Usuario
donde selecciona el usuario de la persona... Aquí imagino debe ir el parametro para que una vez escrito el nombre de usuario verifique se encuentre disponible.
Años atras en delphi, bd local, definia los parametros en el query:
Código SQL [-]
Usuario from persona where Usuario = :Usuario
(obvio dos parametros hasta y desde)y en beforeopen del query escribia:
Código Delphi [-]
procedure TdmQuerys.qBuscarDatosBeforeOpen(DataSet: TDataSet);
begin
 qBuscarDatos.ParamByName('pUsuarioDesde').AsString :=
  frmBuscarDatos.eUsuario.Text + '';
 qBuscarDatos.ParamByName('pUsuarioHasta').AsString :=
  frmBuscarDatos.eUsuario.Text + 'Zz';
end;


Trabajo con Rad Studio...
Gracias por su tiempo y brindar sus conocimientos. Saludos!

Última edición por pablocarlos fecha: 07-02-2021 a las 00:02:01.
Responder Con Cita
  #2  
Antiguo 07-02-2021
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.089
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Hola, no he entendido realmente cuál es la duda que tienes.
Responder Con Cita
  #3  
Antiguo 07-02-2021
pablocarlos pablocarlos is offline
Miembro
 
Registrado: ene 2021
Posts: 56
Poder: 4
pablocarlos Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Hola, no he entendido realmente cuál es la duda que tienes.
Cómo hacerlo en una aplicación cliente servidor donde los querys están en el servidor y los datos en el cliente. El código anterior no reconoce o no se hacerlo como corresponde.
Muchas gracias
Responder Con Cita
  #4  
Antiguo 07-02-2021
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.089
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Sigo sin entenderlo
Responder Con Cita
  #5  
Antiguo 07-02-2021
pablocarlos pablocarlos is offline
Miembro
 
Registrado: ene 2021
Posts: 56
Poder: 4
pablocarlos Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Sigo sin entenderlo
Disculpas...

Sería... desde la apps cuando complete el campo usuario verifique en el servidor, si no está en uso ese usuario...
Gracias por su tiempo.
Responder Con Cita
  #6  
Antiguo 07-02-2021
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.089
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Poniendo un campo a true o false, o algo así?
"Si no está en uso", supongo que quiere decir que no está conectado.
En la tabla de usuarios puedes tener campos como:

id
usuario
password
conectado


Cuando se conecta pones "conectado" a 1, y cuando se desconecta lo pones a 0. Por ejemplo.
También debes tener en cuenta que puede desconectarse "accidentalmente" y se quede marcado como conectado, "1", por lo que sería conveniente tener algún control para detectar que realmente esté conectado y si no lo está, ponerlo a "0".

Creo que te refieres a eso, ¿no?
Responder Con Cita
  #7  
Antiguo 07-02-2021
pablocarlos pablocarlos is offline
Miembro
 
Registrado: ene 2021
Posts: 56
Poder: 4
pablocarlos Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
¿Poniendo un campo a true o false, o algo así?
"Si no está en uso", supongo que quiere decir que no está conectado.
Que no está el nombre elegido. Escribo mi usuario en la apps y verifico que ese nombre de usuario no existe en la bd.
Lo tipico cuando uno se registra en un correo y nos informa que ese usuario está, que debemos elegir otro.

Disculpas por no hacerme entender. Muchas gracias.
Responder Con Cita
  #8  
Antiguo 08-02-2021
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.089
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Vale, pero no entiendo el problema cuál es: ¿saber si existe el nombre?, ¿crear el sql?, ¿pasar el parámetro?, ¿leer el valor devuelto?, ¿otra cosa?
Responder Con Cita
  #9  
Antiguo 08-02-2021
pablocarlos pablocarlos is offline
Miembro
 
Registrado: ene 2021
Posts: 56
Poder: 4
pablocarlos Va por buen camino
Gracias Casimiro. Saber si existe el nombre.

Muchas Gracias
Responder Con Cita
  #10  
Antiguo 08-02-2021
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.089
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Código SQL [-]
select usuario from tbUsuarios where usuario=?usuario
Responder Con Cita
  #11  
Antiguo 08-02-2021
pablocarlos pablocarlos is offline
Miembro
 
Registrado: ene 2021
Posts: 56
Poder: 4
pablocarlos Va por buen camino
Casimiro... que me has hecho pensar!!!! Asi se puede...

Pasos: en fdquery declaro parametro select xxxxx from xxxx where xxxxx and xxxx = :xxxx hasta aquí en el servidor, el fdquery espera un parametro desde la apps donde en el TClientDataSet agrego un parametro en su evento BeforeOpen le digo cual es el valor del parametro, vamos al código por si alguien lo necesita (no es sobre la consulta de usuario pero válido también, ahora a trabajar con lo del usuario)
Código SQL [-]
Select Pais, Max(Numero) from xxx Where Numero <> 0  Pais = : pais (sin espacio entre los : y país)
order by id DESC LIMIT 1
Hasta aquí nada más en el servidor vamos al cliente (app)
en el Tclientdataset declaro un param y en su evento beforeopen...
Código Delphi [-]
 cdsUltimo_Numero.ParamByName('Pais').AsString :=
  ePaisT.Text;
con esto obtengo el número mayor de un determinado país (cada país tiene una numeración que ese número se puede repetir en otro país pero no en el mismo)
Espero haber sido claro. Lo importante es que está funcionando acorde a la necesidad. Escribo mi solución por que así como he sacado datos de aqui de otros integrantes, a otras personas le puede servir lo mio. Nuevamente Gracias Casimiro por tu tiempo

Última edición por pablocarlos fecha: 08-02-2021 a las 16:57:59.
Responder Con Cita
  #12  
Antiguo 08-02-2021
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.089
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Aplicación cliente-servidor Delar Varios 1 30-09-2007 16:56:59
aplicación cliente servidor? Giniromero Conexión con bases de datos 12 25-10-2006 04:39:18
MySQL, Delphi y cliente servidor Maibok Conexión con bases de datos 13 11-10-2006 05:56:57
Aplicación Cliente Servidor NickName Internet 3 23-07-2004 15:07:22
Conexión de una aplicacion cliente en varias pc a un servidor mysql ctronx Conexión con bases de datos 6 16-07-2004 16:55:39


La franja horaria es GMT +2. Ahora son las 01:03:29.


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