Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

URGENTE:No dejar repetir

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: URGENTE:No dejar repetir Responder citando

Sin usar un modulo de datos como hago para si quiero introducir un elemento que ya esta en una base de datos me de un mensaje de error????
Volver arriba
Mensaje    Asunto: Responder citando

Queeeeee ??????????


Que elemento ?

Trata de ser más claro por que no entiendo bien que quieres decir.
_________________
Saludos
Roger Ruiz
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Urgente Responder citando

A ver si tengo una base de datos con unas tablas y en esas tablas unos elementos pues que si quiero añadir un nuevo elemento no me deje meter elementos que ya estan en esa tabla. To do eso sin usar un modulo de datos.
Volver arriba
Mensaje    Asunto: Responder citando

Me pareció leer un mensaje ayer en el foro que lo epxlicaba. Como ahora no lo encuentro aquí va la respuesta: tienes que utilizar el método Locate. Ejemplo:

Código:

TLocateOptions Opts;
Opts.Clear();
//búsqueda no sensible a mayusculas y minusculas
Opts << loCaseInsensitive;
Variant locvalues= Variant(Edit1->Text);
if(Table1->Locate("Tu_campo", locvalues, Opts))
   ShowMessage("ya existe ese registro");


Espero que te sirva
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Urgente Responder citando

Pero ese trozo de codigo donde lo tengo ke poner??en que evento o funcion???
Volver arriba
Mensaje    Asunto: Responder citando

Hola Peruzzi

Podrías ser más claro, y especificar por ejemplo a que tipo de base de datos que manejas (Acess, Interbase, Paradox), un elemento es un registro para tí ?, que componentes estas usando ?

Por ejemplo si tienes un TTable conectado a tu tabla, con el método Append agregas un registro.

Table1.Append;

Para manejar componentes que accesen las tablas no es necesario usar un modulo de datos, puedes colocarlos sobre un Form.

Espero que esto sea lo que preguntas.
_________________
Saludos
Roger Ruiz
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Si es una tabla Access, puedes definir el campo como Indexado (sin duplicados)
Volver arriba
Mensaje    Asunto: Responder citando

Aver Peruzzi Very Happy , el siguiente código inserta el texto de un TEdit en una tabla PARADOX7 al pulsar un botón, no sin antes comprobar si ese texto ya existe en la tabla en cuyo caso nos saldrá el mensaje avisándonos de que ya existen esos datos y el registro no se va a hacer.
Es lo mismo hacerlo así que con el módulo de datos, sólo que así no hay que escribir tanto ya que el TTable se inserta directamente sobre el FORMULARIO:


AnsiString dato_a_insertar = Edit1->Text;

TLocateOptions opciones;
opciones.Clear();
bool dato = Table1->Locate("Nombre",dato_a_insertar,opciones);
if (dato){ /*SI EL TEXTO YA ESTÁ EN LA TABLA...*/
Application->MessageBoxA("Ya existe un registro con estos
datos.","¡Aviso!",MB_OK | MB_ICONSTOP);
}
else { /*Y SI NO ESTÁ LO INSERTAMOS..*/
Table1->Insert();
Table1Nombre->Value = dato_a_insertar;
Table1->Post();
}

/*Espero que esta vez lo hayas entendido mejor.
SALUDOS.*/
Volver arriba
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.