Cita:
Empezado por giulichajari
Bueno, ahora necesito ayuda para borrar un registro de una tabla de Alumnos por DNI.
Lo que yo hice personalmente fue:
Primero realizar una consulta con un SELECT, para saber si el registroa eliminar existe y, luego de ser que exista un DELETE, quisiera saber por que me dice que hay pocos parametros se esperaba uno.
El codigo que tengo en el boton de Buscar es el siguiente:
Código SQL [-]Query1->Close();
Query1->SQL->Text = "SELECT DNI FROM ALUMNO WHERE ""DNI"" = :""PDNI""";
Query1->ParamByName("PDNI")->AsString = Edit1->Text;
Query1->Open();
bool registrado = !Query1->IsEmpty();
Query1->Close();
if(registrado){
AnsiString Consulta;
Consulta="DELETE DNI, Cod_Localidad, Nombreyapellido from Alumno where DNI=Text";
Query1->SQL->Clear();
Query1->SQL->Add(Consulta);
Query1->ExecSQL();
MessageBox(Handle, "Los datos fueron borrados con exito",
"AVISO", MB_ICONINFORMATION + MB_OK);
}
else
{
MessageBox(Handle, "El alumno no existe",
"AVISO", MB_ICONINFORMATION + MB_OK);
Table1->Cancel();
}
Ademas tengo un DBGrid en el formulario, quisiera que se actualizara al entrar al mismo, lo puse para que se vean los alumnos registrados actualmente.
Tengo un TTable, un Query, y un DataSource.
Muchas gracias
|
Tal como dice ecfisa, el delete borra la tupla entera de la tabla, es decir, la linea completa.
No puedes seleccionar que columnas borrar...
Para borrar la linea completa usas:
"DELETE FROM ALUMNO WHERE ""DNI"" = :""PDNI""";
Si lo que quieres es borrar los datos de alguna columna, pero dejar la fila en la BBDD tendiras que usar un UPDATE, seteando los campos que deseas borrar con algun valor por defecto.
Espero te haya servido.
Abrazo!