Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-11-2012
giulichajari giulichajari is offline
Miembro
 
Registrado: nov 2012
Posts: 306
Poder: 12
giulichajari Va por buen camino
Error al insertar registro.

Bueno estoy tratando (en un formulario Builder c++) con 3 TEdit insertar en los correspondientes campos de la Tabla, el codigo que puse en el boton listo(que deberia guardar los datos) es el siguiente.

bool registrado = false;
Table1->Open();
Table1->First();

while ((!Table1->Eof) && (!registrado)) {

if ( DNI->Text.ToInt() == (Alu_insertar->Table1->FieldByName("DNI")->AsInteger))

registrado=true;
else
Table1->Next();
}

//Query1->SQL->Add ("select * from Alumno where DNI like "+this->DNI->Text+"%");
if (registrado==true) {


MessageDlg ("Alumno ya registrado", mtInformation , TMsgDlgButtons()<<mbOK,0);
}
else
{

Table1->FieldByName("Nombreyapellido")->AsString = Nombre->Text;
Table1->FieldByName("DNI")->AsInteger= DNI->Text.ToInt();
Table1->FieldByName("Cod_localidad")->AsInteger=Localidad->Text.ToInt();

MessageDlg ("Los datos se registraron con exito", mtInformation , TMsgDlgButtons()<<mbOK,0);
}

Quisiera saber de algún manual que tenga las operaciones básicas de todo programa con sql
Altas
Bajas
Modificaciones
Como son las sentencias en SQL mas que nada, las he visto en Internet. Pero el problema quizas este en el Builder ya que la sintaxis puede estar mal.
Muchas gracias.
Responder Con Cita
  #2  
Antiguo 09-11-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo?, gracias por tu colaboración

Recuerda poner los tags al código fuente, ejemplo:



Gracias
Responder Con Cita
  #3  
Antiguo 09-11-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola giulichajari y bienvenido a Club Delphi

Como a todos los que se inician te invitamos a que leas nuestra guía de estilo.

Te aconsejo que cuando incluyas código lo encierres entre las etiquetas:[code] aqui_tu_codigo [/code], como verás en el que sigue debajo, le dá mayor legibilidad y seguramente obtendrás más respuestas.

Código:
void __fastcall TForm1::btnListoClick(TObject *Sender) 
{
  Query1->Close();
  Query1->SQL->Text = "SELECT DNI FROM ALUMNO WHERE ""DNI"" = :""PDNI""";
  Query1->ParamByName("PDNI")->AsString = DNI->Text;
  Query1->Open();
  bool registrado = !Query1->IsEmpty();
  Query1->Close();

  if(registrado)
    MessageBox(Handle,"Error: Alumno ya registrado", "", MB_ICONERROR + MB_OK);
  else {
    try {
      Table1->Append();  // Añadir nuevo registro
      Table1->FieldByName("Nombreyapellido")->AsString = Nombre->Text;
      Table1->FieldByName("DNI")->AsInteger= DNI->Text.ToInt();
      Table1->FieldByName("Cod_localidad")->AsInteger=Localidad->Text.ToInt();
      Table1->Post();    // Guardar cambios
      MessageBox(Handle, "Los datos se registraron con exito",
        "AVISO", MB_ICONINFORMATION + MB_OK);
    } catch (const Exception & E) {
        MessageBox(Handle,
          AnsiString(AnsiString(E.ClassName()) + ": " +E.Message).c_str(),
          "ERROR", MB_ICONERROR + MB_OK);
        Table1->Cancel();
    }
  }
}
Veo que estas usando TTable y TQuery, te comento que la sintáxis de este último exige que dentrol de la sentencia SQL, se encierren entre comillas los nombres de campo y parámetro ("DNI" y "PDNI").

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 09-11-2012 a las 10:46:16. Razón: comentar código
Responder Con Cita
  #4  
Antiguo 09-11-2012
giulichajari giulichajari is offline
Miembro
 
Registrado: nov 2012
Posts: 306
Poder: 12
giulichajari Va por buen camino
Me anduvo bien.

Voy a tener un examen en la universidad con altas bajas modificaciones y busqueda.
Gracias por tu ayuda.
Si llego a tener un problema en las bajas ¿creo otro hilo o lo coloco aca?
Responder Con Cita
  #5  
Antiguo 09-11-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por giulichajari Ver Mensaje
Si llego a tener un problema en las bajas ¿creo otro hilo o lo coloco aca?
Creo que no has leído nuestra guía de estilo
Preguntas distintas, hilos distintos.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Error al insertar un nuevo registro FGarcia Firebird e Interbase 3 19-07-2008 22:01:25
Error al insertar registro en Access paco_galo Tablas planas 7 12-09-2007 00:34:04
Error al insertar registro egostar Firebird e Interbase 22 07-07-2007 20:54:20
Error al insertar un registro en la BD RiverPlate Conexión con bases de datos 3 08-12-2004 15:53:18
Error al insertar nuevo registro Humberto Firebird e Interbase 13 06-05-2004 22:45:01


La franja horaria es GMT +2. Ahora son las 04:56:43.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi