2015-11-10 3 views
-1

как выбрать 2 колонки из 2comboboxes из table1 и помещаем данные в этих 2-х столбцов в listview11 в button1 щелкните событиевыбрать 2 колонки из таблицы, где столбцы из Наример

Я попытался это, но ничего не работает ничего добавлено к ListView1

private void button1_Click(object sender, EventArgs e) 
    { 
     if (cn.State == ConnectionState.Closed) cn.Open(); 
     cm.Connection = cn; 
     if (comboBox3.Enabled == true) 
     { 
      string searchFor2 = comboBox1.Text; 
      string searchFor3 = comboBox2.Text; 
      string selectSql = "SELECT " + searchFor2 + ", " + searchFor3 + " FROM itmsparts"; 
      SqlCommand com = new SqlCommand(selectSql, cn); 
      try 
      { 
       using (SqlDataReader read1 = com.ExecuteReader()) 
       { 
        using (SqlDataReader read1 = com.ExecuteReader()) 
       { 
        while (read1.Read()) 
        { 
         ListViewItem parent = listView1.Items.Add(read1[0].ToString()); 
         parent.SubItems.Add(read1[1].ToString()); 
        } 
       } 
       } 
      } 
      finally 
      { 

      } 
     } 
    } 
+0

Определение "не работает". Была ли ошибка? Был ли полученный запрос тем, что вы ожидали от него? Как это случилось? – David

+0

Я думаю, что вы хотите SelectedValue, а не текст combobox –

+0

Попробовали ли вы отлаживать значение 'selectSql' и попробовать это прямо на db? –

ответ

0
using (SqlDataReader read1 = com.ExecuteReader()) 
       { 
        while (read1.Read()) 
        { 
         ListViewItem parent = listView1.Items.Add(read1[0].ToString()); 
         parent.SubItems.Add(read1[1].ToString()); 
        } 
       } 

пришлось изменить эту часть, и это работает :)

+0

кто-то отметит его как ответ plz: D – user5456980

+0

Ваш вопрос, вы тот, у кого есть сила, чтобы отметить его как принято. –

0

Вы не можете использовать read1["searchFor2"], чтобы получить имя поля

Try:

foreach (ListViewItem item in listView1.Items) 
    { 
    item.Text = (read1[0].ToString()); 
    item.SubItems[1].Text = (read1[1].ToString()); 
    } 
+0

спасибо за ваш ответ @juan .. но до сих пор ничего не добавлено в список. значения в столбцах не добавляются в listview1 – user5456980

+0

@ user5456980, если они еще не добавлены, тогда укажите ошибку и убедитесь, что у вас есть данные в таблице –

+0

нет ошибки просто ничего не добавлено и нет ошибки – user5456980

0

когда вы говорите

READ1 [ "searchFor2"]

это означает, что он будет пытаться найти столбец с именем 'searchFor2' Вы должны удалить двойные кавычки.

item.Text = (read1[searchFor2].ToString()); 
item.SubItems[1].Text = (read1[searchFor3].ToString()); 
+0

все еще не добавлены элементы. Имена столбцов, которые я выбрал в comboboxes, следует искать в таблице и добавлять элементы в эти столбцы. В listview1 – user5456980

+0

тогда я не вижу никаких проблем с кодом. мне кажется хорошо. проверьте, что ур-таблица имеет некоторые значения. и отлаживать код и проверять, где происходит сбой. –

Смежные вопросы