Como listar dados salvos num banco de dados...

26/02/2015

Olá a todos, não sou muito íntimo de C# e estou tentando fazer um exercício que está me trazendo um pouco de dificuldade. Estou usando o visual studio 2012 para faze-lo, é do tipo console application. Pois bem, preciso listar dados que eu já inseri num banco de dados que está conectado ao projeto, fiz uma classe chamada ListarEditoras e gostaria de saber que processo que tenho que realizar nessa classe e depois no main para uma conseguir a exibição.
Antes que perguntem, usei o ODBC para acessar o Sql e se for preciso posso enviar o código que até agora funcionou.
Desde já agradeço...

Rafael

Melhor resposta

27/02/2015

Primeiramente você deve montar a sua classe ListarEditora que deverá ter um método mais ou menos assim:
string user = "1234";
string strSQL = "Select * From [User] where UserId = @userID";
(SqlConnection cnn = new SqlConnection("connection string here"))
(
    (SqlCommand myCommand = new SqlCommand(strSQL, cnn))
    {
        myCommand.AddWithValue("@userID", user);
        using (SqlDataReader reader = myCommand.ExecuteReader())
        {
            while (reader.Read())
            {
                Console.WriteLine(reader["columnName"].ToString();
            }
        }
    }
}

Thiago Santana

Responder Citar

Outras Respostas

27/02/2015

Thiago Santana

Rafael você já conseguiu montar a classe que efetua a consulta na base de dados?
Responder Citar

27/02/2015

Rafael

Sim, dá só uma olhada no código :
using System;
using System.Collections.Generic;
using System.Data.Odbc;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;
namespace ODBC
{
class ConnectionFactory
{
public static OdbcConnection CreateConnection()
{

string driver = @"SQL Server";
string servidor = @"USUARIO-PC\SQLEXPRESS";
string baseDeDados = @"livraria";
string usuario = @"sa";
string senha = @"123456";


StringBuilder c = new StringBuilder();
c.Append("driver=");
c.Append(driver);
c.Append(";server=");
c.Append(servidor);
c.Append(";database=");
c.Append(baseDeDados);
c.Append(";Trusted_Connection=yes");
c.Append(usuario);
c.Append(";pwd=");
c.Append(senha);


OdbcConnection odbcCon = new OdbcConnection(c.ToString());
odbcCon.Open();

return odbcCon;
}
}
}

using System;
using System.Collections.Generic;
using System.Data.Odbc;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ODBC
{
class InsereEditora
{

public int addEditora(string nome, int cnpj)
{

string sql = @"INSERT INTO Editora (nome, cnpj) VALUES (?,?)";

OdbcCommand comando = new OdbcCommand(sql, ConnectionFactory.CreateConnection());

comando.Parameters.AddWithValue("@nome", nome);
comando.Parameters.AddWithValue("@cnpj", cnpj);
return comando.ExecuteNonQuery();

}
}

}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;
namespace ODBC
{
class Program
{
static void Main(string[] args)
{
try
{

System.Console.WriteLine("Digite o nome da editora: ");
string nome = System.Console.ReadLine();
System.Console.WriteLine("");
System.Console.WriteLine("Digite o cnpj da editora: ");
string cnpj = System.Console.ReadLine();
System.Console.WriteLine("");


InsereEditora insereEditora = new InsereEditora();
int retorno = insereEditora.addEditora(nome, int.Parse(cnpj));
}
catch (FormatException ex)
{
System.Console.WriteLine("Preencha de forma adequada");
}
catch (OverflowException ex)
{
System.Console.WriteLine("Limite numérico ultrapassado");
}
catch (Exception ex)
{
System.Console.WriteLine("Erro");
}
finally
{

System.Console.WriteLine("");
Console.WriteLine("Pressione qualquer tecla para sair. ");
Console.ReadKey();

}
}
}
}

using System;
using System.Collections.Generic;
using System.Data.Odbc;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;
namespace ODBC
{
class ListaEditora
{


}

---------- Minha dúvida é nesta classe ListaEditora, queria saber o processo que devo realizar nela e depois no main para exibir os dados que eu já consegui inserir lá no banco.
Responder Citar

27/02/2015

Rafael

Obrigado cara, mas você poderia me informar se preciso por algo no main também ou isso já é o suficiente, tenho essa dúvida porque não estou podendo testar no momento, portanto essa informação seria valiosa pra mim, muito obrigado.
Responder Citar