| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
JONAS Invitado
|
Publicado: Dom 23 Oct, 2005 4:26 pm Asunto: INSERTAR SIN REPETICION |
|
|
Hola amigos, sabeis si hay alguna setencia sql que me permita insertar un nuevo registro solo si la informacion a insertar no esta almacenada ya en la tabla. Yo lo hago asi:
query->Close();
query->SQL->Clear();
query->SQL->Add("select EquipoId from tbEquipo where Equipo=:equipo");
query->ParamByName("equipo")->AsString = cbEquipo->Text;
query->Open();
if(query->IsEmpty()){
query->Close();
query->SQL->Clear();
query->SQL->Add("insert into tbEquipo(Equipo) values(:equipo)");
query->ParamByName("marca")->AsString = cbMarca->Text;
query->ExecSQL();
Sabeis si hay alguna forma mas corta de hacer lo mismo, gracias. |
|
| Volver arriba |
|
 |
alfredo Master

Registrado: 13 Oct 2003Mensajes: 246Ubicación: Valencia Venezuela
|
Publicado: Sab 29 Oct, 2005 4:46 pm Asunto: |
|
|
hola JONAS, si requieres que no se repitan valores en una columna
lo mejor y mas correcto es declararla unica al momento de crear la tabla,
o bien crear un indice unico sobre esa columna despues de creada. |
|
| Volver arriba |
|
 |
+ + Asterix + + Cdt

Registrado: 20 Oct 2005Mensajes: 16
|
Publicado: Vie 27 Ene, 2006 3:45 am Asunto: |
|
|
mira estoy de acuerdo con Alfredo pero debes de diseñar ben tu BD
y crear una tabla con una llave primaria q en este caso seria EquipoID como llave primaria y asi no se tiene q repetir ese valor, yo lo hago asi:
float id_equipo = 0;
//Aqui seleccionamos el maximo id de la tabla EQUIPO
Query1->SQL->Text = "SELECT MAX(EquipoID) FROM EQUIPO ";
Query1->Open();
if( Query1->Fields->Fields[0]->AsString == "" ) //y si la cosulta es
id_equipo = 1 ; //igual a nada quiere decir q es el primer id_equipo
else
id_equipo = StrToFloat(Query1->Fields->Fields[0]->AsString) + 1; // de lo contrario le sumamos "1" al valor maximo q nos arroja la consulta
Query1->SQL->Text = "INSERT INTO EQUIPO(EQUIPO_ID)"
"VALUES("+ ID_EQUIPO +")";
Query1->ExecSQL();
Espero q te sirva.
ATTE
+ + ObeliX + +
"EL CONOCIMEINTO HUMANO PERTENECE AL MUNDO" |
|
| Volver arriba |
|
 |
|