Mysql
 sql >> Database >  >> RDS >> Mysql

La casella combinata WPF popola i dati dal database mysql

dovrai accedere a dt, non so se chiami la tua fillzone solo per riempire la casella combinata, ma suggerirei:

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

MODIFICA:

sto usando lo stesso tipo di metodo, ma con un database postgreSql, cambiando PgsqlDataAdapter in MySqlDataAdapter questo potrebbe/dovrebbe funzionare

    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

String str è la tua query.

    public DataTable GetInfo()
    {
        string Query = "select location from zone";
        DataSet Set = GetInformation(Query);
        return Set.Tables[0];
    }

ora hai una tabella con tutti i dati di cui hai bisogno/volevi.

   DataTable DT = dBQuery.GetInfo();
   for (int i = 0; i < result.Rows.Count; i++) 
       {          
           zonecd.Items.Add(result.Rows[i].ItemArray[0].ToString()); 
       }

ora hai popolato la tua casella combinata