使用列表视图显示保存在数据库中的信息

本文关键字:数据库 信息 存在 保存 列表 视图 显示 | 更新日期: 2023-09-27 18:02:42

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

这是代码:

        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);
        }

使用列表视图显示保存在数据库中的信息

我就是这么做的,效果很好。

                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);
                }

以安全的方式使用

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);
           }
      }
}

设置listview属性查看详情

列表视图。