使用列表视图显示保存在数据库中的信息
本文关键字:数据库 信息 存在 保存 列表 视图 显示 | 更新日期: 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属性查看详情
列表视图。