Экспорт SQL в ListView с использованием C # - PullRequest
1 голос
/ 30 ноября 2010

У меня есть запрос, который выбирает 3 столбца из таблицы SQL, мне нужно экспортировать полученный запрос в просмотр списка.Мне не нужна помощь с настройкой SQL, просто как отформатировать его в виде списка.Вот где я застрял.Любая помощь приветствуется.Спасибо!

string sql = "select distinct pro,ds,date from dbo.Sge where date IN (select max(date) from dbo.Storage) order by project";
SqlConnection con = new SqlConnection("Data Source= ;Initial Catalog= ;Integrated Security= SSPI");
con.Open();
DataSet ds = new DataSet();
SqlDataAdapter adapter = new SqlDataAdapter(sql,con);
adapter.Fill(ds);
foreach (DataRow row in ds.Tables[0].Rows)
{
    for(int i=0; i< ds.Tables[0].Columns.Count; i++))
}

Редактировать: Извините, ребята, я изначально упомянул ListBox и имел в виду ListView.Мой ListView детализирован и содержит столбец для каждого из моих столбцов в моем выборе, мне просто нужен экспорт SQL, чтобы перейти к правому столбцу.

Это то, что я придумал, но это не такдобавить к каждому столбцу, просто к первому столбцу

foreach (DataRow row in poplb6ds.Tables[0].Rows)
{
    listView1.Items.Add(row["Pro"].ToString());
    listView1.Items.Add(row["size"].ToString());
    listView1.Items.Add(row["Date"].ToString());
}

Ответы [ 4 ]

3 голосов
/ 30 ноября 2010

Следующее предполагает, что ваш ListView имеет столбцы в следующем порядке:

0 голосов
/ 30 ноября 2010
  1. Использование using блоков:

    using (SqlConnection con = new SqlConnection("Data Source=;Initial Catalog= ;Integrated Security= SSPI"))
    {
        con.Open();
        using (DataSet ds = new DataSet())
        {
            using (SqlDataAdapter adapter = new SqlDataAdapter(sql, con))
            {
                adapter.Fill(ds);
            }    
        }
    }
    
  2. Заполнить одну таблицу:

    DataTable dt = new DataTable(); // new DataTable("Sge"); name it if will be required
    adapter.Fill(dt);
    
  3. Ваш цикл не имеет смысла, поскольку столбцы одинаковы для каждой строки в таблице:

    foreach (DataColumn column in dt.Columns)
    {
    }
    
  4. Или вы хотите перебирать каждую строку и каждый столбец?

    foreach (DataColumn column in dt.Columns)
    {
        foreach (DataRow row in dt)
        {
            object value = row[column];
        }
    }
    
0 голосов
/ 30 ноября 2010
0 голосов
/ 30 ноября 2010

Стандартное решение будет: listbox1.DataSource = poplb6ds; Если вам нужно какое-то конкретное форматирование, уточните это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...