[ gleda @ 10.03.2009. 16:29 ] @
Pozdrav ,

FORMA KNJIGA
Imam sql bazu i u njoj 2 tabele ( kupac , knjiga ) , imaju relaciju preko ID . Poenta je napraviti JOIN da pokaze za izabranog KUPCA sve knjige koje ima . Rezultat bi hteo da ubacim u DataGridView .

FORMA KUPAC
U njoj su prikazani u DataGridView svi kupci i kad se neki izabere i pritisne button onda se otvori FORMA KNJIGA koja bi trebalo da prikaze njegove knjige.

Na koje sve nacine bih mogao ovako nesto da izvedem ,

hvala na svakom odgovoru.

[ .:Marvin:. @ 11.03.2009. 12:20 ] @
Koja baza (MS SQL Server, ACCESS...) i koji programski jezika / alat?
[ gleda @ 11.03.2009. 12:37 ] @
SQL baza, Visual C#
[ Mare_TS @ 12.03.2009. 16:21 ] @
Citat:
gleda:
FORMA KNJIGA
Imam sql bazu i u njoj 2 tabele ( kupac , knjiga ) , imaju relaciju preko ID.


Ajde ako ti nije problem napisi koje sve kolone tabele imaju i kakva je relacija ? Posto ja nisam bas siguran da sam te razumeo. Jedna tabela u bazi bi terbala da sadrzi i podatke o IDu knjige i o IDu kupca koji je tu knjigu kupio. Gde se nalaze podaci o kupcima i knjigama u bazi ili u programu ??
[ gleda @ 12.03.2009. 20:57 ] @
Uspeo sam da resim problem , evo resenja ako nekoga bude zanimalo .
Ako ima nekoh predloga za drugaciji pristup slobodno napisite pa da probamo .


class Knjiga
{
public string KnjigaID;
public string Naziv;
public string Pisac;
public string Zanr;
public string GodinaIzdanja;

}
class Ciznajmljivanje
{
public string IznajmljivanjeID;
public string KorisnikID;
public string KnjigaID;
public string DatumIznajmljivanja;
public string DatumVracanja;
}



List<Ciznajmljivanje> Liznajmljivanje = new List<Ciznajmljivanje>();
List<Knjiga> Lknjiga = new List<Knjiga>();

private void Iznajmljivanje_Load(object sender, EventArgs e)
{


iznajmljivanjeTableAdapter1.Fill(bibliotekaDataSet.Iznajmljivanje); // ubacujem podatke u DataSet
knjigaTableAdapter1.Fill(bibliotekaDataSet.Knjiga);


foreach (BibliotekaDataSet.IznajmljivanjeRow redovi in bibliotekaDataSet.Iznajmljivanje.Rows)
{
Ciznajmljivanje c = new Ciznajmljivanje
{
IznajmljivanjeID = redovi[0].ToString(),
KorisnikID = redovi[1].ToString(),
KnjigaID = redovi[2].ToString(),
DatumIznajmljivanja = redovi[3].ToString(),
DatumVracanja = redovi[4].ToString() };

Liznajmljivanje.Add(c);
}

foreach ( BibliotekaDataSet.KnjigaRow redovi in bibliotekaDataSet.Knjiga.Rows )
{
Knjiga d = new Knjiga
{
KnjigaID = redovi[0].ToString(),
Naziv = redovi[1].ToString(),
Pisac = redovi[2].ToString(),
Zanr = redovi[3].ToString(),
GodinaIzdanja = redovi[4].ToString() };

Lknjiga.Add(d);
}

var rezultatiUpita =
from k in Lknjiga
join p in Liznajmljivanje
on k.KnjigaID equals p.KnjigaID
where p.KorisnikID == fkorisnici.IDkorisnika // IDkorisnika je vec ranije upamcena vrednost u drugoj formi
select new
{
NazivKnjige = k.Naziv,
k.Pisac,
p.DatumIznajmljivanja,
p.DatumVracanja,
};
foreach (var item in rezultatiUpita)
{

DataGridViewRow red = new DataGridViewRow();
DataGridViewTextBoxCell celija = new DataGridViewTextBoxCell();
celija.Value = item.NazivKnjige;
red.Cells.Add(celija);
DataGridViewTextBoxCell celija1 = new DataGridViewTextBoxCell();
celija1.Value = item.Pisac;
red.Cells.Add(celija1);
DataGridViewTextBoxCell celija2 = new DataGridViewTextBoxCell();
celija2.Value = item.DatumIznajmljivanja;
red.Cells.Add(celija2);
DataGridViewTextBoxCell celija3 = new DataGridViewTextBoxCell();
celija3.Value = item.DatumVracanja;
red.Cells.Add(celija3);

dataGridView1.Rows.Add(red);
}


Poenta je bila da u prvoj formi izaberes nekog korisnika i kad pritisnes button otvori se nova forma sa DataGridView koji pokazuje sve knjige koje ima taj korisnik.