WPF组合框填充从MySQL数据库中的数据 [英] WPF Combo box populate data from mysql database
问题描述
我试图用数据填充组合框,但我不能让它正常工作
I am trying to populate a combo box with data but I cant get it work
public void fillZone()
{
string sql = "select location from zone";
MySqlDataAdapter zonedapter = new MySqlDataAdapter(sql,conn);
DataTable dt = new DataTable("zone");
zonedapter.Fill(dt);
}
我用fillZone()从MySQL中获取数据,并有它保存在一个dataTable.I要填充一个名为zonecb以上从返回的结果的数据组合框,如下图所示。
I use fillZone() to get data from mysql and have it stored in a dataTable.I want to populate a combobox named zonecb with data from returned result above, as shown below
this.zonecb.ItemsSource = "Location";
this.zonecb.DisplayMemberPath = "Location";
我的XML是如下所示:
my xml is as shown:
<ComboBox Canvas.Left="91" Canvas.Top="57" Height="23" Name="zonecb" Width="200" ItemsSource="{Binding}" />
任何想法?
推荐答案
您需要存取权限DT,我不知道,如果你打电话给你的fillzone仅用于填充组合框,但我建议:
you will need to acces dt, i dont know if you call your fillzone only for filling combobox but i would suggest:
public DataTable fillZone()
{
string sql = "select location from zone";
MySqlDataAdapter zonedapter = new MySqlDataAdapter(sql,conn);
DataTable dt = new DataTable("zone");
zonedapter.Fill(dt);
return dt;
}
public void fillcombo()
{
DataTable dt = fillZone();
foreach (DataCell cell in dt)
{
zonecb.add(cell.Value)
}
}
编辑:
使用同一种方法,但第i个PostgreSQL数据库,通过改变PgsqlDataAdapter到MySqlDataAdapter的,这可能/应该IM
im using a same kind of method, but ith a postgreSql Database, by changing PgsqlDataAdapter to MySqlDataAdapter this might/should work
public DataSet GetInformation(string str)
{
ds = new DataSet("Tables");
Npgsql.NpgsqlDataAdapter da = new Npgsql.NpgsqlDataAdapter(str, connection);
da.TableMappings.Add("Table", "Program");
da.Fill(ds);
return ds;
}// send query to database, get table
字符串str就是你的查询。
String str is your Query.
public DataTable GetInfo()
{
string Query = "select location from zone";
DataSet Set = GetInformation(Query);
return Set.Tables[0];
}
现在你王氏所有你需要的数据有一个表/想要的。
now you got a table wih all the data you need/wanted.
DataTable DT = dBQuery.GetInfo();
for (int i = 0; i < result.Rows.Count; i++)
{
zonecd.Items.Add(result.Rows[i].ItemArray[0].ToString());
}
现在你填入你的组合框
这篇关于WPF组合框填充从MySQL数据库中的数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!