Jump to content

[Resolvido] SELECT com DataReader


dario1133
 Share

Recommended Posts

Boa tarde,

Tenho uma tabela "roles" que possui a coluna "role_name". Pretendo fazer uma query que me retorne todos os nomes dessa coluna.

Tenho o seguinte:

MyCommand.CommandText = " SELECT role_name FROM roles";
MyConnection.Open();
NpgsqlDataReader reader3 = MyCommand.ExecuteReader();
if (reader3.Read())
{

}

Não sei se o método read é o mais indicado, nem como o utilizar.

Obrigado pela ajuda

Link to comment
Share on other sites

O melhor é pesquisares por datareader no google, encontras montes de exemplos na documentação oficial do msdn.

Lê um bocado a explicação que está associada aos exemplos para ficares a conhecer um pouco da teoria.

Matraquilhos para Android.

Gratuito na Play Store.

https://play.google.com/store/apps/details?id=pt.bca.matraquilhos

Link to comment
Share on other sites

Neste momento estou a passar o resultado para uma tabela, e já está a retornar a quantidade de linhas existentes. Agora necessito de ir à tabela e ler o conteúdo das linhas para um array.

var dataTable = new DataTable();

MyCommand.CommandText = " SELECT role_name FROM roles";
MyConnection.Open();
NpgsqlDataReader reader4 = MyCommand.ExecuteReader();

while (!reader4.IsClosed)
{ dataTable.Load(reader4);
}

MyConnection.Close();
Response.Write(dataTable.Rows.Count);
Link to comment
Share on other sites

Consegui ir buscar o conteudo das celulas com o código:

string[] array_role_name = new string[dataTable_role_name.Rows.Count];

for (int i = 0; i < dataTable_role_name.Rows.Count; i++)
{
array_role_name[i] = dataTable_role_name.Rows[i]["role_name"].ToString();
}

Como posso agora criar labels e checkbox para cada célula do array? Automaticamente a partir do código?

Link to comment
Share on other sites

Bom dia

  public void FazCodigo()
    {
	    string stringConexaoBaseDados = "inserir aqui a tua string de conexao à base de dados";
	    using (SqlConnection sqlConn = new SqlConnection(stringConexaoBaseDados))
	    using (SqlCommand sqlCmd = new SqlCommand("SELECT role_name FROM roles", sqlConn))
	    {
		    sqlConn.Open();
		    int i = 0;
		    using (SqlDataReader dr = sqlCmd.ExecuteReader())
			    while (dr.Read()) //Enquanto tivermos resultados
			    {
				    //Cria uma label
				    System.Windows.Forms.Label label1 = new System.Windows.Forms.Label();
				    //Preencher o texto da label com a primeira coluna do resultado da query
				    label1.Text = Convert.ToString(dr[0]);
				    //Vamos dar uma localização à label, de forma dinamica
				    label1.Location = new System.Drawing.Point(0, i * 10);
				    //Adiciona a tua label ao controlo que desejes (neste caso o form1)
				    form1.Controls.Add(label1);
				    //Incrementa uma interação
				    i++;
			    }
	    }
    }

Tem atenção ao controlo onde vais inserir a label criada, bem com a location da mesma.

Para criares as checkboxs é adaptares um pouco o código, eu acredito que consegues lá chegar 😉

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.