Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Ayuda delphi - access (https://www.clubdelphi.com/foros/showthread.php?t=71240)

amonxanubis4 08-12-2010 23:39:38

Ayuda delphi - access
 
Buenas tardes. les agradecere enormemente si me ayudan con esto.

Tengo un proyecto escolar de un modulo de seguridad, un inventario y un una matriz de 10 datos.


Ahorita estoy atorado con el modulo de seguridad, tengo el siguiente codigo:
Código Delphi [-]
form1.adotable1.Open;
form1.ADOTable1.Edit;
adoquery1.SQL.Add('delete from contraseñas');
adoquery1.SQL.Add('where usuario='+edit1.Text);
adoquery1.SQL.Add('and contraseña='+edit2.Text);
adoquery1.ExecSQL;
FORM1.adotable1.Post;
Showmessage ('YA VERE KE PONGO');
close;
Y me bota el siguiente error:
Código Delphi [-]
Project Project1.exe raised exception class EOleexception with message 'el parametro X no tiene un valor predeterminado'. Process stoped. Use step or run to continue.

Meti X en el primer edit, y me lo bota, simplemente no encuentro que es el problema, esto es para dar de baja, ya que tengo el codigo de las altas de nuevos usuarios conforme a lo siguiente:



form1.ADOTable1.Open;
form1.ADOTable1.Insert;
form1.ADOtable1.FieldByName('USUARIO').AsString:=edit1.Text;
form1.ADOtable1.FieldByName('CONTRASEÑA').AsString:=edit2.Text;
form1.ADOTable1.Open;
form1.ADOTable1.Post;
form2.close;
y eso funciona bien para dar la alta al usuario.


El servidor de DB es access 2003 y el driver de coneccion es el Ole Driver Jet 4. Cualquer ayuda les agradezco ^^

microbiano 09-12-2010 07:20:37

hola
 
hola casi no trabajo de la forma en la que lo haces pero la pregunta es por que quieres editar la tabla en esta linea
Código Delphi [-]
form1.ADOTable1.Edit;
?


bien creo que la mejor forma de eliminar es pasando parametros haber si te sirve este ejemplo
Código Delphi [-]
procedure TFclientes.btn3Click(Sender: TObject);
 var weliminar:Integer;
begin
 weliminar:=StrToInt(Fclientes.txtnumero.Text);
 if weliminar<>0 then
  begin
   with Fmodulo.Qry_Temp do
    begin
     SQL.Clear;
     SQL.Add('select count(*) as existe from clientes');
     SQL.Add('where idcliente=:peliminar');
     Parameters.ParamByName('peliminar').Value:=weliminar;
     try
      Open;
      if FieldByName('existe').AsInteger=1 then
       begin
        //MessageDlg('instruccion para eliminar el registros', mtError, [MBOK], 0);
        with Fmodulo.Qry_Temp2 do
         begin
          SQL.Clear;
          SQL.Add('delete from clientes');
          SQL.Add('where idcliente=:peliminar2');
          Parameters.ParamByName('peliminar2').Value:=weliminar;
          ExecSQL;
          Application.MessageBox('Registro Eliminado con Exito','Registro Eliminado', MB_OK + MB_ICONINFORMATION);
          limpiar;
          saca_consecutivo;
         end;  
       end
      else
       begin
        MessageDlg('Al parecer el Registros que intenta eliminar no existe'+chr(13)+'Verifique que los datos sean correctos e intente nuevamente', mtError, [MBOK], 0);
       end
     except
     on E:EOleException do
      begin
       MessageDlg(Format('Error: %s    Codigo: %d', [E.Message, E.ErrorCode]), mtError, [mbOK], 0);
      end;
     end;
    end;  
  end
 else
  begin
   MessageDlg('Ocurrio un Error Inesperado'+chr(13)+'pongase en contacto con el Adminsitrador del Sistema', mtError, [MBOK], 0);
  end;
end;

realmente la instruccion importante aqui es la que esta marcada con negritas

amonxanubis4 11-12-2010 20:40:21

Sobre por que quiero editar la tabla en esa linea es porque pienso ingresar un dbgrid para mostrar los usuarios y contraseñas guardados... si no deberia ir la elimino :P


Sobre lo otro, amm me marco error :S pero de todas maneras muchas gracias, y creo que si encontre la respuesta :P eran unas comillas pero bueh muchas gracias = ^^


La franja horaria es GMT +2. Ahora son las 20:29:16.

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