none
Obter valor do campo C# e MDB RRS feed

  • Pergunta

  • Estou iniciando em programação na linguagem C# e preciso saber o seguinte:

    Como uma query retornar o valor do campo, que se encontra na db, pois ele só retornar o valor inteiro (numero de linhas que se encontra o dado solicitado). Mas ai é que pega, no Query Builder ele exibe o dado.

    Utilizo a seguinte query: 
    "SELECT nome FROM usuario WHERE login="+tb_login.Text;

    Como devo proceder? 

    Obrigado


    • Editado Alef Pedrosa sábado, 16 de fevereiro de 2013 19:03
    sábado, 16 de fevereiro de 2013 16:28

Respostas

  • Boa tarde.

    Não entendi muito bem a sua pergunta... Você quer resgatar um valor que veio de uma consulta ao banco de dados? 

    Se for isso você pode utilizar um DataTable. Depois de alimentado podemos resgatar facilmente seus valores. 

    Olhe este link, muito legal: 

    http://www.dotnetperls.com/datatable

    Série do Macoratti sobre Ado.Net 

    http://www.macoratti.net/08/11/c_adn_1.htm

    Sem ler artigos completos seu conhecimento ficará muito vago, por isso não farei todo o procedimento aqui. Vou deixar uma parte de código, para você ver do que se trata

    Abaixo resgatei os valores diretamente do banco, sem passar para um DataTable (há mias formas de fazer isso):

    OleDbConnection Con = new OleDbConnection(); //objeto de conexão

    //Abaixo utilizo a conexão de string cadastrada na minha solução. Con.ConnectionString = Properties.Settings.Default.bdQBBConnectionString; try { Con.Open(); OleDbCommand Cmm = new OleDbCommand(); Cmm.CommandText = ""SELECT nome FROM usuario WHERE login="+tb_login.Text"; Cmm.CommandType = CommandType.Text; Cmm.Connection = Con;

    //Repare que abaixo eu vou atribuir o valor que meu objeto de comando vai trazer.

    string Nome = Convert.ToString(Cmm.ExecuteScalar()); // ExecuteScalar retorna apenas um registro. }

    Agora, voltando a falar do DataTable, após ALIMENTA-LO você pode selecionar algum valor da seguinte maneira: 

    1º Seleciona o valor na linha 1 com a coluna Nome.
    SeuDatable.Rows[0]["Nome"].ToString();
    
    2º Seleciona o valor na primeira coluna da linha 1
    SeuDatable.Rows[0][0].ToString();  

    Abraços, espero que ajude.


    Se a resposta foi útil, não deixe de clicar na setinha verde. Alguma ajuda neste tópico te levou a solução do problema? Então proponha como resposta para o tópico ser melhor identificado.



    sábado, 16 de fevereiro de 2013 19:56

Todas as Respostas

  • Boa tarde.

    Não entendi muito bem a sua pergunta... Você quer resgatar um valor que veio de uma consulta ao banco de dados? 

    Se for isso você pode utilizar um DataTable. Depois de alimentado podemos resgatar facilmente seus valores. 

    Olhe este link, muito legal: 

    http://www.dotnetperls.com/datatable

    Série do Macoratti sobre Ado.Net 

    http://www.macoratti.net/08/11/c_adn_1.htm

    Sem ler artigos completos seu conhecimento ficará muito vago, por isso não farei todo o procedimento aqui. Vou deixar uma parte de código, para você ver do que se trata

    Abaixo resgatei os valores diretamente do banco, sem passar para um DataTable (há mias formas de fazer isso):

    OleDbConnection Con = new OleDbConnection(); //objeto de conexão

    //Abaixo utilizo a conexão de string cadastrada na minha solução. Con.ConnectionString = Properties.Settings.Default.bdQBBConnectionString; try { Con.Open(); OleDbCommand Cmm = new OleDbCommand(); Cmm.CommandText = ""SELECT nome FROM usuario WHERE login="+tb_login.Text"; Cmm.CommandType = CommandType.Text; Cmm.Connection = Con;

    //Repare que abaixo eu vou atribuir o valor que meu objeto de comando vai trazer.

    string Nome = Convert.ToString(Cmm.ExecuteScalar()); // ExecuteScalar retorna apenas um registro. }

    Agora, voltando a falar do DataTable, após ALIMENTA-LO você pode selecionar algum valor da seguinte maneira: 

    1º Seleciona o valor na linha 1 com a coluna Nome.
    SeuDatable.Rows[0]["Nome"].ToString();
    
    2º Seleciona o valor na primeira coluna da linha 1
    SeuDatable.Rows[0][0].ToString();  

    Abraços, espero que ajude.


    Se a resposta foi útil, não deixe de clicar na setinha verde. Alguma ajuda neste tópico te levou a solução do problema? Então proponha como resposta para o tópico ser melhor identificado.



    sábado, 16 de fevereiro de 2013 19:56
  • Olha cara, só complementando a resposta do Vinícius, pode ser que haja um erro em sua query:

    "SELECT nome FROM usuario WHERE login="+tb_login.Text;

    Levando em conta que 'login' seja um campo do tipo varchar/nvarchar a comparação deve ser feita como se fosse string, no caso ficaria:

    "SELECT nome FROM usuario WHERE login = '" + tb_login.Text + "'";

    Falta você abrir e fechar aspas simples antes de concatenar o tb_login.Text


    Ao infinito e além!

    segunda-feira, 18 de fevereiro de 2013 12:07
  • E ae, novidades ?

    Se a resposta foi útil, não deixe de clicar na setinha verde. Alguma ajuda neste tópico te levou a solução do problema? Então proponha como resposta para o tópico ser melhor identificado.

    quarta-feira, 20 de fevereiro de 2013 00:56