使用Listview显示数据库中保存的信息

时间:2011-07-19 06:08:08

标签: c# mysql visual-studio-2010 listview

我是Visual Studio 2010 C#和MySQL的新手。我正在创建一个应用程序,其中有一个部分将在c#中的 listview 中显示数据库(MySQL)中的所有信息。我已经在数据库中创建了数据的添加部分。我在这里有一些代码,但它不起作用,我的列表视图中没有显示任何信息。

这是代码:

        listViewCompany.Items.Clear();
        string cmd = "select company_name, company_other_names, company_contactperson, company_contactperson_position from company";
        DBConn db = new DBConn();
        DataTable tbl = db.retrieveRecord(cmd);
        int x = 0;
        foreach (DataRow row in tbl.Rows)
        {
            ListViewItem lv = new ListViewItem(row[0].ToString());
            lv.SubItems.Add(row[1].ToString());
            lv.SubItems.Add(row[2].ToString());
            lv.SubItems.Add(row[3].ToString());
            listViewCompany.Items.Add(lv);
        }

3 个答案:

答案 0 :(得分:1)

安全地使用

DataTable tbl = new DataTable();

using (var con = new MySqlConnection { ConnectionString = conn.config })
{
      using (var command = new MySqlCommand { Connection = con })
      {
           if (con.State == ConnectionState.Open)
                con.Close();

           con.Open();

           command.CommandText = @"SELECT * FROM company where company_name Like Concat(@search,'%')";
           command.Parameters.AddWithValue("@search", textBoxSearchCompany.Text);
           tbl.Load(command.ExecuteReader());
           foreach(DataRow row in tbl.Rows)
           {
               ListViewItem lv = new ListViewItem(row[1].ToString());
               lv.SubItems.Add(row[2].ToString());
               lv.SubItems.Add(row[28].ToString());
               lv.SubItems.Add(row[29].ToString());
               listView1.Items.Add(lv);
           }
      }
}

答案 1 :(得分:0)

这就是我所做的,而且它正在发挥作用。

                string query = "SELECT * FROM company where company_name Like '" + textBoxSearchCompany.Text + "%'";
                listViewCompany.Items.Clear();
                DBConn db = new DBConn();
                DataTable tbl = db.retrieveRecord(query);
                int x = 0;
                foreach (DataRow row in tbl.Rows)
                {
                    ListViewItem lv = new ListViewItem(row[1].ToString());
                    lv.SubItems.Add(row[2].ToString());
                    lv.SubItems.Add(row[28].ToString());
                    lv.SubItems.Add(row[29].ToString());
                    listViewCompany.Items.Add(lv);
                }

答案 2 :(得分:0)

设置listview属性的“查看详细信息”

listView.View = View.Details;