我是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);
}
答案 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;