![]() |
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
|
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!!! |
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
|
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;) |
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.
|
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'); |
Cita:
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:
|
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
|
Saludos
Cita:
|
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
|
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
|
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 |
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
|
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. |
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
|
La franja horaria es GMT +2. Ahora son las 15:35:38. |
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