Ver Mensaje Individual
  #4  
Antiguo 04-10-2013
Avatar de lmpadron
lmpadron lmpadron is offline
Miembro
 
Registrado: feb 2009
Ubicación: Habana, Cuba
Posts: 204
Reputación: 16
lmpadron Va por buen camino
Cita:
Empezado por giulichajari Ver Mensaje
1- Pero en el formulario en Builder, como inserto los datos, recordando que solo tendria los edit, y el boton de insertar, me dirijo a la tabla directamente,
Si quieres insertar datos siempre puedes hacerlo usando los componentes DATACONTROL que están especialmente diseñados para la conexión a las bases de datos. También puedes hacerlo manualmente en cuyo caso usarías un Query previamente conectado a la base de datos.


En el evento del Boton OnCLick
Código:
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("INSERT INTO tabla1 VALUES (campo1, campo2)"
            "('"+ Edit1->Text +"' ,'"+ Edit2->Text +"' );");
ADOQuery1->ExecSQL();

Cita:
Empezado por giulichajari Ver Mensaje
2- ¿Que sucederia con una valor de una campo que ya existe, ej: Dos clientes viven en la misma calle? Si lo compruebo como inserto si ya existen. Como muestro los ya existentes?
Siempre puedes hacer una verificación antes de insertar pero eso te lo recomiendo para datos únicos como el número de identidad. De todas formas puedes hacer la verificación incluyendo uno o más campos para saber si ya se han insertado

Código:
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("SELECT * FROM tabla1 WHERE campo1 = '"+ Edit1->Text +"'  AND campo2 = '"+ Edit2->Text +"';");
ADOQuery1->Open();


if (ADOQuery1->RecordCount == 0)
{

  ADOQuery1->Close(); 
  ADOQuery1->SQL->Clear();
  ADOQuery1->SQL->Add("INSERT INTO tabla1 VALUES (campo1, campo2)"
            "('"+ Edit1->Text +"' ,'"+ Edit2->Text +"' );");
  ADOQuery1->ExecSQL();
}
else
{
  // lo que quieras mostrarle para q sepa que ya esos datos han sido insertados en un mismo registro
  // recuerda que los datos consultados se mantendrán en el ADOQuery1
}
NOTA esto es MySQL ok, También hay otras formas de hacerlo incluso formas mucho mas eficientes pero creo que esta es la que mas rápido vas a entender ya que tu pregunta es mas de lógica que de código

PD esto lo he escrito directo aquí ok, no lo he probado con el compilador hehehehee así que igual te encuentras con algunos problemillas de sintaxis ... pero al menos te da la idea verdad?

Saludos
__________________
Nunca esta de más volver a ver la "Guia de Estilo" o "La Otra Guia de Estilo". Recuerda siempre usar los "Tags" para una mejor legibilidad de tu código.


Cuando miras fijamente al abismo, este te devuelve la mirada


oo______ooo_____ooo_ooooooo_____ooo____oooooo____ooooooo______oooo____ooo____oo_
oo______oooo___oooo_oo____oo__oo___oo__oo____oo__oo____oo___oo____oo__oooo___oo_
oo______oo_oo_oo_oo_oo____oo_oo_____oo_oo_____oo_oo____oo__oo______oo_oo_oo__oo_
oo______oo__ooo__oo_oooooo___ooooooooo_oo_____oo_ooooooo___oo______oo_oo__oo_oo_
oo______oo_______oo_oo_______oo_____oo_oo____oo__oo____oo___oo____oo__oo___oooo_
ooooooo_oo_______oo_oo_______oo_____oo_oooooo____oo_____oo____oooo____oo____ooo_
________________________________________________________________________________

Última edición por lmpadron fecha: 04-10-2013 a las 20:42:31.
Responder Con Cita