Ver Mensaje Individual
  #9  
Antiguo 14-06-2007
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Reputación: 22
FGarcia Va por buen camino
Cool solucionado..........................

Bueno......

Como no vi demasiado interes en esto lo que hice fue cambiar mi codigo a esto:

Código Delphi [-]
//*******************************Boton de Guardar***********************//
procedure TfrmUsers.btnGuardarClick(Sender: TObject);
var
    sContra : String;
    i: integer;
begin
  //Con el dataset MDOUsers
    with frmDatos.MDOQuery1 do
      begin
        //Verifica que los campos login, contraseña y confirmacion no esten vacios
        if VerificaDatos then
          begin
            //Encriptamos la contraseña
            sContra := frmDatos.Encripta(edClave.Text);
            //Segun el item seleccionado en el Combo
            case cbCategoria.ItemIndex of
              1: i := 1; //'Instalador'
              2: i := 2; // Administrador
              3: i := 3; // Supervisor
              4: i := 4; // Usuario
            end;
            //Si estamos en el modo INSERTAR (Boton Agregar)
            if sModo = 'Insertar' then
              begin
                close;
                sql.Clear;
                sql.Add('INSERT INTO dppUSR (login,clave,categoria,nombre,');
                sql.Add('paterno,materno,domicilio,colonia,cp,ciudad,estado,');
                sql.Add('telefono) ');
                sql.add('VALUES(');
                sql.Add('''' + edLogin.Text + ''',''' + sContra + ''',');
                sql.add('''' + IntToStr(i) + ''', ''' + edNombre.text + ''',');
                sql.Add('''' + edPaterno.Text + ''',''' + edMaterno.Text+''',');
                sql.add('''' + edDomicilio.Text + ''','''+edColonia.Text+''',');
                sql.add('''' + edCP.Text + ''','''+ edCiudad.Text + ''',');
                sql.Add('''' + edEstado.Text + ''',''' + edTelefono.Text +''')');
                ExecSQL;
              end
            else
              begin
                close;
                sql.Clear;
                sql.Add('UPDATE dppUSR SET');
                sql.add('Login = ''' + edLogin.Text + ''',');
                sql.add('Clave = ''' + sContra + ''',');
                sql.add('Categoria = ''' + IntToStr(i) + ''',');
                sql.add('Nombre = ''' + edNombre.text + ''',');
                sql.add('Paterno = ''' + edPaterno.Text + ''',');
                sql.add('Materno = ''' + edMaterno.Text + ''',');
                sql.add('Domicilio = ''' + edDomicilio.Text + ''',');
                sql.add('Colonia = ''' + edColonia.Text + ''',');
                sql.add('CP = ''' + edCP.Text + ''',');
                sql.add('Ciudad = ''' + edCiudad.Text + ''',');
                sql.add('Estado = ''' + edEstado.Text + ''',');
                sql.add('Telefono = ''' + edTelefono.Text + '''');
                sql.Add(' WHERE Codigo = ''' + IntToStr(iCodigo) + '''');
                ExecSQL;
              end;
            //Añadimos a la lista de usuarios el nuevo miembro
            if sModo = 'Insertar' then
              lstUsuarios.Items.Add(edLogin.Text);
          end;
      btnCancelarClick(Sender);
      end;
end;

y pues sanseacabo el problema! cuando edito lo hace en el registro correcto, no protesta porque el campo login este declarado como UNIQUE y pues todos contentos!!!! .....


mmmmmm eso ultimo ni yo me lo crei! Insisto si la sentencia sql ya esta declarada en el "dataset editor" porque no me funciona correctamente o yo la estoy llamando en forma equivoca, algo que debere de continuar investigando pero por el momento ya resolvi mi problema y la aplicacion esta trabajando.
Responder Con Cita