![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Evitar Datos Repetidos??
Hola a todos, ahora me tope con este problema...
![]() Necesito saber como hacerle para que el programa verifique que no exista un registro igual en la base de datos, como puedo hacerlo? Dejen les pongo la idea que tenia, el codigo no esta correcto: Código:
parametro1=ComboBox1->Text; //ANIO parametro2=ComboBox2->Text; //LOCALIDAD parametro3=ComboBox3->Text; //EVALUACION ADOQuery->SQL->Text = "select * from Tabla_Prueba where [Año] = '"+parametro1+"' AND Localidad = '"+parametro2+"' AND Evaluacion = '"+parametro3+"' "; if( ADOQuery->SQL->Text == NULL ) { //AGREGAR DATOS else SHOWMESSAGE("EL REGISTRO YA EXISTE"); } Alguna sugerencia?..Espero haberme dado a entender.. ![]() |
#2
|
||||
|
||||
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#3
|
|||
|
|||
Que tal amigo, ya cheque el tema y me dejo pensando sobre lo de la llave primaria, pero el problema es que para saber si el registro existe, tienen que coincidir los 3 campos (AÑO,LOCALIDAD,EVALUACION),asi que no puedo usar lo del campo llave.
Pense en quizas hacer la consulta y mostrar los datos en un DBGrid, y despues verificaar si el grid esta activo y de esta manera saber si hay datos o no, peor no se si se pueda hacer esto... ![]() ![]() |
#4
|
||||
|
||||
Las claves pueden ser de más de un campo, puedes hacerlo igualmente.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#5
|
|||
|
|||
Bien!!!!!!!... :D
Que tal, hice los de las claves llave (yo pense que no se podia, jamas lo habia intentado) y funciono...
![]() ![]() Pero me quedo una duda, porque si le agregas un dato y lo quieres volver a agregar te da el error de que no se puede duplicar, el problema aqui es que si le cambio algun valor en los combobox y le doy en agregar, no me deja, me sigue marcando el mismo error, y se supone que deberia dejarme, para que me deje tengo que cerrar la aplicacion y volver a abrirla. No hay algun metodo para que no tenga que reiniciar la aplicacion?, intente con el Form->Refresh y nada.... ![]() Saludos |
#6
|
||||
|
||||
Evidentemente, si no vemos tu código, poco podemos hacer
![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#7
|
|||
|
|||
Aqui Esta
jejejejejeje, obvio, jejejeje..
![]() aqui esta el codigo: Código:
Tabla->Open(); Tabla->Insert(); //-------------------------------------------------- Tabla->FieldByName("Casos_sospechosos_colera_est")->AsString = Edit1->Text; Tabla->FieldByName("casos_diarrea_notif_SUIVE")->AsString = Edit2->Text; Tabla->FieldByName("casos_sospechosos_coleratrat")->AsString = Edit7->Text; Tabla->FieldByName("Total_casos_colera")->AsString = Edit8->Text; Tabla->FieldByName("cepas_positivasvibrio")->AsString = Edit18->Text; Tabla->FieldByName("Total_muestrasproc")->AsString = Edit19->Text; Tabla->FieldByName("Deter_cloro")->AsString = Edit26->Text; Tabla->FieldByName("Total_detercloro")->AsString = Edit27->Text; //------------------------------------------------------ Tabla->FieldByName("ID_coberturadeteccion")->AsString = Edit3->Text; Tabla->FieldByName("ID_tratoportuno")->AsString = Edit9->Text; Tabla->FieldByName("ID_eficiencialab")->AsString = Edit20->Text; Tabla->FieldByName("ID_cloracionagua")->AsString = Edit28->Text; //------------------------------------------------------ Tabla->FieldByName("P_coberturadeteccion")->AsString = Edit14->Text; Tabla->FieldByName("P_tratoportuno")->AsString = Edit15->Text; Tabla->FieldByName("P_eficiencialab")->AsString = Edit21->Text; Tabla->FieldByName("P_cloracionagua")->AsString = Edit29->Text; Tabla->FieldByName("Año")->AsString = ComboBox1->Text; Tabla->FieldByName("Localidad")->AsString = ComboBox2->Text; Tabla->FieldByName("Evaluacion")->AsString = ComboBox3->Text; Tabla->Post(); Application->MessageBox ("Datos Grabados en la BD","Aviso", MB_OK); //Form1->Refresh();//---ESTO FUE LO QUE INTENTE PERO NADA..:confused: |
#8
|
||||
|
||||
No sé qué componentes o con qué estás trabajando, pero creo que necesitas un commit de la transaction.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#9
|
|||
|
|||
Estoy trabajando con componentes ADO, me conecto con el ADOConection, enlazo las tablas con ADOTable y DataSource.
|
#10
|
||||
|
||||
Pues, lo dicho, seguramente necesitas hacer commit
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#11
|
|||
|
|||
Y eso como se hace?, es dificil? me podrias explicar o darme un ejemplo??--
![]() |
#12
|
||||
|
||||
Yo no uso ADO, pero haz una búsqueda en clubdelphi con esos parámetros, se ha tratado varias ocasiones. Buscar por ADO* transaction
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#13
|
|||
|
|||
Gracias por la info, encontre algunos posts aqui y mas info gogleando.
Muchas Gracias por todo.. ![]() |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Datos se muestran repetidos | elarys | Impresión | 2 | 15-01-2010 18:34:37 |
TRxDBLookupCombo. Problema de desplazamiento en datos repetidos. | Jose_Pérez | OOP | 0 | 07-02-2006 14:49:32 |
datos repetidos en tabla | marceloalegre | SQL | 3 | 03-08-2005 20:37:47 |
ordernar nombres y evitar nombres repetidos en DBLookupComboBox | @-Soft | Conexión con bases de datos | 4 | 14-01-2004 16:30:51 |
Datos repetidos... SQL... | emeceuy | Conexión con bases de datos | 6 | 18-08-2003 15:10:41 |
![]() |
|