Array
(
)

Firebird e Asp.Net Visual Studio 2008

Sistemas Informação
|
MVP
    03 fev 2011

Pessoal estou fazendo uma aplicação WEB com Firebird ADO.NET
estou com problemas para fazer o login de usuário usando o FormsAuthentication
ta tela de login tenho CNPJ e SENHA para verificar no banco FDB da tabela CLIENTE mas não sei fazer o retorno de dados para variaveis Ex: o certo é retornar um cliente apenas e desse cliente alimentar dados de variaveis...
a consulta que estou fazendo é:

public DataTable loginID(string CNPJ, string SENHA)

{

var con = new FbConnection(strcon);

var SQL = "Select NIVEL from cliente where cnpjclie=@cnpjclie and senhaclie=@senhaclie";

var cmd = new FbCommand(SQL, con);

cmd.Parameters.AddWithValue("@cnpjclie", CNPJ);

cmd.Parameters.AddWithValue("@senhaclie", SENHA);

con.Open();

var da = new FbDataAdapter(SQL, con);

var dt = new DataTable("cliente");

da.Fill(dt);

var ds = new DataSet(SQL);

cmd.ExecuteNonQuery();

/* Nivel uma variavel publica */

Nivel = Convert.ToInt32(ds.Tables[0].Rows[0].ItemArray[109]);

return dt;

}

 

mas não sei retornar algo assim os dados para variavel apenas para um GRID

mas não serve eu precisava alimentar campos TEXTBOX por exemplo... Obrigado Desde  já.

Joel Rodrigues
   - 04 fev 2011

Bom dia.
Cara, vejamos se entendi. Sua dificuldade é apenas passar os dados dos campos da consulta para variáveis separadas? Se for isso, vou te mostrar um exemplo bem simples mas que vai dar pra você entender.Obs: Vou colocar nomes sugestivos para evitar declarações de objetos.
Aqui vou criar uma função que retorna um inteiro como código da mensagem: 0.Login realizado; 1.Senha incorreta; 2.Usuário inexixtente
public int RealizarLogin(string login, string senha){ myCommand.CommandText = "SELECT LOGIN, SENHA, NIVEL, NOME FROM CLIENTES WHERE LOGIN = @LOGIN"; myCommand.Parameters.AddWithValue("LOGIN", login); myConnection.Open(); myAdapter.Fill(myDataTable); myConnection.Close(); if(myDataTable.Rows.Count>0) { if(senha == myDataTable.Rows[0]["SENHA"].ToString()) //Se a senha estiver correta { //Passa os valores da tabela para suas variáveis. meuNome = myDataTable.Rows[0]["NOME"].ToString(); meuNivel  = Convert.ToInt16(myDataTable.Rows[0]["NIVEL"]); } else { return 1; //A senha informada é diferente da cadastrada no banco. Senha incorreta }
} else { return 2; //Não há linhas na table, logo, não encontrou o usuário }
}

0
|
0