Ajuda C# ListView - joaocarlos07 - 30-05-2011 23:36
Boa noite a todos é o seguinte eu fiz o codigo para me adicionar items da bd a minha listview ( tenho 3 colunas ) no primeiro sqlreader eu quero adicionar a 2 coluna da listview e esta a funcionar bem so que no segundo sqlreader eu quero adicionar a terceira coluna da listview mas nao estou a conseguir pois adiciona-me na mesma na segunda . Alguem me pode ajudar ?
Desde ja o meu obrigado alguma duvida estão a vontade
Código:
//ligacao ao SQL
static string oi = "Data Source=SDMMC Storage Card/SQL/geral.sdf; Password = 123456 ";
SqlCeConnection liga = new SqlCeConnection(oi);
private void caixaregistadora_Load(object sender, EventArgs e)
{
//abre ligacao
liga.Open();
//pesquisa na BD
SqlCeCommand cmd = new SqlCeCommand("SELECT nome FROM vendas ", liga);
SqlCeDataReader dr = cmd.ExecuteReader();
//percorre o sqldatareader para obter os dados
while (dr.Read())
{
label3.Text = Convert.ToString(dr["nome"]);
//ler nome
ListViewItem item = new ListViewItem();
// item.Text = Convert.ToString((dr["nome"]));
item.SubItems.Add(Convert.ToString(dr["nome"]));
listView1.Items.Add(item);
}
//select para determinar preço do produto
SqlCeCommand cmd2 = new SqlCeCommand(" SELECT preco FROM produtos WHERE nome = '" + label3.Text + "' ", liga);
SqlCeDataReader dr2 = cmd2.ExecuteReader();
//ler os dados
while (dr2.Read())
{
ListViewItem item2 = new ListViewItem();
item2.SubItems.Add(Convert.ToString(dr2["preco"]));
listView1.Items.Add(item2);
}
RE: Ajuda C# ListView - rei007 - 31-05-2011 09:39
Viva,
Eu não testei isto mas penso que assim deve. Estavas lá perto.
Código:
//ligacao ao SQL
static string oi = "Data Source=SDMMC Storage Card/SQL/geral.sdf; Password = 123456 ";
SqlCeConnection liga = new SqlCeConnection(oi);
private void caixaregistadora_Load(object sender, EventArgs e)
{
//abre ligacao
liga.Open();
//pesquisa na BD
SqlCeCommand cmd = new SqlCeCommand("SELECT nome FROM vendas ", liga);
SqlCeDataReader dr = cmd.ExecuteReader();
//percorre o sqldatareader para obter os dados
ListViewItem item = new ListViewItem("nomeColuna1");
while (dr.Read())
{
label3.Text = Convert.ToString(dr["nome"]);
//ler nome
// item.Text = Convert.ToString((dr["nome"]));
item.SubItems.Add(Convert.ToString(dr["nome"]));
}
//select para determinar preço do produto
SqlCeCommand cmd2 = new SqlCeCommand(" SELECT preco FROM produtos WHERE nome = '" + label3.Text + "' ", liga);
SqlCeDataReader dr2 = cmd2.ExecuteReader();
//ler os dados
ListViewItem item2 = new ListViewItem("nomeColuna2);
while (dr2.Read())
{
item2.SubItems.Add(Convert.ToString(dr2["preco"]));
}
//Só aqui é que adicionas os ListViewItems à ListView1
listView1.Items.AddRange(new ListViewItem[] {item,item2});
RE: Ajuda C# ListView - joaocarlos07 - 31-05-2011 09:58
Ola bom dia , obrigado pela resposta eu so vou puder testar logo a noite pois a aplicação é para windows CE e so tenho o pda logo a noite :x
Mas olha agora de manha lembrei-mee e fiz o seguinte codigo , achas que tambem esta correcto ?
Código:
//abre ligacao
liga.Open();
//pesquisa na BD
SqlCeCommand cmd = new SqlCeCommand("SELECT nome FROM vendas ", liga);
SqlCeDataReader dr = cmd.ExecuteReader();
//Cirar um array de 3 colunas
string[] lista = new string[3];
//percorre o sqldatareader para obter os dados
while (dr.Read())
{
//Coluna da quantidade
lista[0] = "1";
//aparecer nome do produto na label
label3.Text = Convert.ToString(dr["nome"]);
//coluna descricao
lista[1] = Convert.ToString(dr["nome"]);
}
//select para determinar preço do produto
SqlCeCommand cmd2 = new SqlCeCommand(" SELECT preco FROM produtos WHERE nome = '" + label3.Text + "' ", liga);
SqlCeDataReader dr2 = cmd2.ExecuteReader();
//ler os dados
while (dr2.Read())
{
//preco do produto
lista[2] = Convert.ToString(dr2["preco"]);
}
//adicionar os dados a listview
ListViewItem lvi = new ListViewItem(lista);
listView1.Items.Add(lvi);
liga.Close();
}
|