moin,
ich schreib grad an einem cocktailprogramm(sehr wichtig...).
ich hab zur zeit zwei tabellen und zwar eine die cocktails
und eine die alkoholsorten enthält. jetzt liste ich die namen
der cocktails in einer listbox auf. klicke ich auf einen namen
drauf so soll natürlich die jeweilige alkoholsorte die zu dem
cocktail gehört in einer combox angezeigt werden, wo
im vorfeld schon alle verfügbaren alkoholsorten geladen
wurden. problem: es geht nich. datarelation hab ich schon ma
versucht aber nicht hinbekommen. wär nett wenn mir jemand
helfen könnte. kein plan mehr...
hier ma der code den ich schon hab:
private DataSet ds = new DataSet();
private DataRow AlcRow;
private void Form1_Load(object sender, System.EventArgs e)
{
MySqlConnection cn = new MySqlConnection();
DataSet ds = new DataSet();
cn.ConnectionString = "Database=cocktail;Data Source=localhost;User ID=root;Password=";
MySqlCommand cmd = new MySqlCommand();
cmd.CommandText = "SELECT * FROM cocktail";
cmd.Connection = cn;
MySqlDataAdapter da = new MySqlDataAdapter();
da.SelectCommand = cmd;
da.Fill(ds, "cocktail");
cmd.CommandText = "SELECT * FROM alkohol";
cmd.Connection = cn;
da.SelectCommand = cmd;
da.Fill(ds, "alkohol");
listBox1.DataSource = ds.Tables["cocktail"];
listBox1.DisplayMember = "name";
comboBox1.DataSource = ds.Tables["alkohol"];
comboBox1.DisplayMember = "name";
}
private void listBox1_SelectedIndexChanged(object sender, System.EventArgs e)
{
AlcRow = ds.Tables["alkohol"].Select("nr = " + ds.Tables["cocktail"].Rows[listBox1.SelectedIndex]["aalkohol"].ToString())[0];
comboBox1.SelectedText = AlcRow["name"].ToString();
}
DB:
tabelle alkohol: nr->int,name->varchar
tabelle cocktail: nr->int,name->varchar,aalkohol->int
ich schreib grad an einem cocktailprogramm(sehr wichtig...).
ich hab zur zeit zwei tabellen und zwar eine die cocktails
und eine die alkoholsorten enthält. jetzt liste ich die namen
der cocktails in einer listbox auf. klicke ich auf einen namen
drauf so soll natürlich die jeweilige alkoholsorte die zu dem
cocktail gehört in einer combox angezeigt werden, wo
im vorfeld schon alle verfügbaren alkoholsorten geladen
wurden. problem: es geht nich. datarelation hab ich schon ma
versucht aber nicht hinbekommen. wär nett wenn mir jemand
helfen könnte. kein plan mehr...
hier ma der code den ich schon hab:
private DataSet ds = new DataSet();
private DataRow AlcRow;
private void Form1_Load(object sender, System.EventArgs e)
{
MySqlConnection cn = new MySqlConnection();
DataSet ds = new DataSet();
cn.ConnectionString = "Database=cocktail;Data Source=localhost;User ID=root;Password=";
MySqlCommand cmd = new MySqlCommand();
cmd.CommandText = "SELECT * FROM cocktail";
cmd.Connection = cn;
MySqlDataAdapter da = new MySqlDataAdapter();
da.SelectCommand = cmd;
da.Fill(ds, "cocktail");
cmd.CommandText = "SELECT * FROM alkohol";
cmd.Connection = cn;
da.SelectCommand = cmd;
da.Fill(ds, "alkohol");
listBox1.DataSource = ds.Tables["cocktail"];
listBox1.DisplayMember = "name";
comboBox1.DataSource = ds.Tables["alkohol"];
comboBox1.DisplayMember = "name";
}
private void listBox1_SelectedIndexChanged(object sender, System.EventArgs e)
{
AlcRow = ds.Tables["alkohol"].Select("nr = " + ds.Tables["cocktail"].Rows[listBox1.SelectedIndex]["aalkohol"].ToString())[0];
comboBox1.SelectedText = AlcRow["name"].ToString();
}
DB:
tabelle alkohol: nr->int,name->varchar
tabelle cocktail: nr->int,name->varchar,aalkohol->int