Witam, piszę aplikację w C# która obsłuży moją bazę danych sql - dziennik szkolny. Póki co jakoś brnąłem do przodu ale z 1 rzeczą nie mogę sobie poradzić. Otóż, mam między innymi te 2 tabele:
Przedmioty
-przemiodID (PK)
-przedmiot(varchar)
Ocena
-ocena (float)
-przedmiotID (int)
-uczenID
-data,waga... nieistotne
No i mam przycisk, który wyświetla mi w listboxach oceny ucznia o zadanym ID
private void button1_Click(object sender, EventArgs e)
{
int przedmiot = 1;
cmd.Connection = cn;
listBox1.Items.Clear();
listBox2.Items.Clear();
listBox3.Items.Clear();
listBox4.Items.Clear();
cn.Open();
cmd.CommandText = "select Ocena, Data, Waga from ocenaTable where (UczenID = '" + uczenID.Text + "')";
dr = cmd.ExecuteReader();
if (dr.HasRows)
{
while (dr.Read())
{
listBox1.Items.Add(dr[0].ToString());
listBox3.Items.Add(dr[1].ToString());
listBox4.Items.Add(dr[2].ToString());
}
}
cn.Close();
cn.Open();
cmd.CommandText = "select Przedmiot from przedmiotyTable where (PrzedmiotID = '" + przedmiot +"')";
dr = cmd.ExecuteReader();
if (dr.HasRows)
{
while (dr.Read())
{
listBox2.Items.Add(dr[0].ToString());
}
}
cn.Close();
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
ListBox l = sender as ListBox;
if (l.SelectedIndex != -1)
{
listBox1.SelectedIndex = l.SelectedIndex;
listBox2.SelectedIndex = l.SelectedIndex;
listBox3.SelectedIndex = l.SelectedIndex;
listBox4.SelectedIndex = l.SelectedIndex;
}
}
W czym problem? Więc tak, wpisuje ID ucznia, klikam przycisk, dostaje jego: Ocene, IDprzedmiotu, date wystawiena, wage oceny. To dziala. Chce jednak, zeby zamiast ID przedmiotu pojawiła się tam nazwa przedmiotu (matematyka, wf, itp), która kryje się pod ów ID. Wpisałem do kolejnego zaproszenia po prostu zmienną int przedmiot = 1 gdyż nie wiem jak z tego dalej wybrnąć...
wydaje się, że wystarczy tutaj
cmd.CommandText = "select Przedmiot from przedmiotyTable where (PrzedmiotID = '" + przedmiot +"')";
jakoś w miejsce + przedmiot + dać wynik z poprzedniego zapytania, w którym dodaje: select przedmiot id... from ocenyTable.
Tylko jak to zrobic?