dtにアクセスする必要があります。コンボボックスを埋めるためだけにフィルゾーンを呼び出すかどうかはわかりませんが、次のことをお勧めします。
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)
}
}
編集:
同じ種類のメソッドを使用していますが、postgreSqlデータベースでは、PgsqlDataAdapterをMySqlDataAdapterに変更することで、これが機能する可能性があります
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はクエリです。
public DataTable GetInfo()
{
string Query = "select location from zone";
DataSet Set = GetInformation(Query);
return Set.Tables[0];
}
これで、必要な/必要なすべてのデータを含むテーブルが作成されました。
DataTable DT = dBQuery.GetInfo();
for (int i = 0; i < result.Rows.Count; i++)
{
zonecd.Items.Add(result.Rows[i].ItemArray[0].ToString());
}
これで、コンボボックスにデータが入力されました