Fórum Interbase aspx. #66060

14/08/2007

0

Estou criando uma aplicação de teste em Asp.Net para aprender um pouco mais, a aplicação é simplesmente um implementação de telas de cadastro e coisas básicas em cima do banco employee do interbase.

Como se eu fosse implementar a aplicação para essa empresa fictícia e então usar esse conhecimento para projetos futuros.

Até aí tudo bem , não tem nenhum mistério nesse tipo de implementação.
Porém estão ocorrendo alguns problemas, que estão sendo até bem vindos para o aprendizado.

1- Quando eu tento incluir um novo usuário, ele aparentemente inclui tudo normalmente, só que nem o IB Expert e nem o IB Console mostram os dados, mas quando eu tento incluir os mesmos dados denovo, ele apresenta erro de chave primária como se esses dados existissem e na inclusão não cai em nenhuma exceção.

São duas funções de inclusão nesta tela uma para a tabela de Usuários e outra na Employee, já que o cara se cadastra na aplicação como empregado, apartir da tela de entrada.

Segue os códigos das funções:

Clique do botão cadastrar.
procedure TWebForm1.btnCadUser_Click(sender: System.Object; e: System.EventArgs);
begin
  try
    setUser;
    setEmployee;

    Response.Redirect(´../home.aspx´);
  except
    on E:Exception do
      lblExcept.Text := e.Message;
    end;
end;


setUser
procedure TWebForm1.setUser;
begin
  Conn.Open;
  try
    cmdInsUser.Parameters[´LOGIN´].Value := txtCadLogin.Text;
    cmdInsUser.Parameters[´PASS´].Value := txtCadSenha.Text;
    cmdInsUser.Parameters[´EMAIL´].Value := txtEmail.Text;

    cmdInsUser.ExecuteNonQuery;
  finally
    Conn.Close;
  end;
end;


setEmployee
procedure TWebForm1.setEmployee;
begin
  Conn.Open;
  try
    try
      cmdInsEmployee.Parameters[´FIRST_NAME´].Value := txtFirstName.Text;
      cmdInsEmployee.Parameters[´LAST_NAME´].Value := txtLastName.Text;
      cmdInsEmployee.Parameters[´PHONE_EXT´].Value := txtPhoneExt.Text;
      cmdInsEmployee.Parameters[´HIRE_DATE´].Value :=  Convert.ToDateTime(txtHireDate.Text);
      cmdInsEmployee.Parameters[´DEPT_NO´].Value := ddlDepartNo.SelectedValue;
      cmdInsEmployee.Parameters[´JOB_CODE´].Value := ddlJob.SelectedValue;
      cmdInsEmployee.Parameters[´JOB_GRADE´].Value := ddlJobGrade.SelectedValue;
      cmdInsEmployee.Parameters[´JOB_COUNTRY´].Value := ddlCountry.SelectedValue;
      cmdInsEmployee.Parameters[´SALARY´].Value := Convert.ToDecimal(txtSalary.Text);


      cmdInsEmployee.ExecuteNonQuery;
    except
      on e:exception do
        lblExcept.Text := e.Message;
    end;
  finally
    Conn.Close;
  end;
end;


2- Quando uso o Magic Ajax na minha tela de login, não consigo ler a tabela de login... é como se não houvessem dados na tabela, mas eles estão lá e sendo digitados corretamente na consulta.
É só tirar o AjaxPanel e tudo funciona que é uma beleza.

Segue o método que usei para o botão de login:
procedure TWebForm1.btnLogin_Click(sender: System.Object; e: System.EventArgs);
var
  rd : BdpDataReader;
begin
  Conn.Open;
  try
    try
      cmdCheckPass.Parameters[´LOGIN´].Value := txtLogin.Text;
      cmdCheckPass.Parameters[´PASS´].Value := txtSenha.Text;

      rd := cmdCheckPass.ExecuteReader;

      if rd.Read then
      begin
        FormsAuthentication.RedirectFromLoginPage(txtLogin.Text,false);
      end
      else
      begin
        lblExcept.Text := ´USUÁRIO OU SENHA INVÁLIDOS´;
      end;
    except
      on e:Exception do
        lblExcept.Text := e.Message;
    end;
  finally
    Conn.Close;
  end;
end;


Se alguém tiver alguma luz, Por favor me ajudem.


Knight_of_wine

Knight_of_wine

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar