Laden...

Mehrere Tabellen miteinander verstricken und in Form anzeigen lassen

Erstellt von oehrle vor 14 Jahren Letzter Beitrag vor 14 Jahren 986 Views
O
oehrle Themenstarter:in
461 Beiträge seit 2009
vor 14 Jahren
Mehrere Tabellen miteinander verstricken und in Form anzeigen lassen

verwendetes Datenbanksystem: <sql2005>

Hallo, folgende Frage. Ich habe 4 Tabellen mit Kundendaten. Tabelle 1 hat Kundendaten, Tabelle 2 hat Zeichnungsdaten von Kunden, beide haben eine Fremschlüselbeziehung. Tabelle 2 hat wiederum eine Bezeihung mit Tabelle 3, Tabelle 3 mit Tabelle 4.

Ich möchte eine Oberfläche machen, in der die Daten eingegeben werden können und angesehen gewerden können. Je de Tabelle bekommt einen Bindingnavigator. Habe mich auch schon daran versucht. Nun die Frage: Arbeite ich mit einem untyp.Dataset, lass ich dann de Bezeihungen untereinader besser weg, damit man beim Daten updaten nicht noch alle Constraints beachten muß? Also dann mit DataView arbeiten? Oder wie macht das der Fachmann?

344 Beiträge seit 2006
vor 14 Jahren

Hallo

Wie das der Fachmann macht, weiss ich nicht.
Ich erstelle mir für solche Sachen im Server eine Sicht und diese kann ich dann wie eine Tabelle einlesen und benutzen. Eignet sich natürlich nur zum Anzeigen und nicht zum editieren.

Gruss Lothi

O
oehrle Themenstarter:in
461 Beiträge seit 2009
vor 14 Jahren
Besipiel für mehrere verknüpfte Tabellen (mehr als 2)

Hallo, versuche mich wieder an dieser Aufgabe. Habe das nun schon mit einem untypisierten und typisierten Dataset versucht.
Das typisierte bringt in der hinsicht schon viele Vorteile mit den Databindings und den sprechenden Bezeichnern. Aber das speichern, wenn man mehr als zwei Tabellen hat die miteinander in Beziehung stehen hab ich nch nicht hingekriegt. Enweder fehlt in einer Tabelle der Eintrag komplett, oder ich bekomme eine Fehlermeldung, das der Primärschlüssel fehlt obwohl in der TExtbox ein WErt eingefügt ist (und auch unique ist).

Hier mal der Code, der ist ja erst mal trivial. Ich hätte erst mal noch ein Bild mit der Oberfläche hochgeladen, aber da brauch ich ja nen Server, geht das auch anders direkt vom PC?


{
		public Form2()
		{
			InitializeComponent();
		}

		private void firmaBindingNavigatorSaveItem_Click(object sender, EventArgs e)
		{
			this.Validate();

			this.firmaBindingSource.EndEdit();
			bestellungenBindingSource.EndEdit();
			lieferterminBindingSource.EndEdit();

			firmaTableAdapter.Update(kundendatenDataSet.Firma);
			bestellungenTableAdapter.Update(kundendatenDataSet.Bestellungen);
			lieferterminTableAdapter.Update(kundendatenDataSet.Liefertermin);

		//	this.tableAdapterManager.UpdateAll(this.kundendatenDataSet);

		}

		private void Form2_Load(object sender, EventArgs e)
		{
			// TODO: Diese Codezeile lädt Daten in die Tabelle "kundendatenDataSet.Liefertermin". Sie können sie bei Bedarf verschieben oder entfernen.
			this.lieferterminTableAdapter.Fill(this.kundendatenDataSet.Liefertermin);
			// TODO: Diese Codezeile lädt Daten in die Tabelle "kundendatenDataSet.Bestellungen". Sie können sie bei Bedarf verschieben oder entfernen.
			this.bestellungenTableAdapter.Fill(this.kundendatenDataSet.Bestellungen);
			// TODO: Diese Codezeile lädt Daten in die Tabelle "kundendatenDataSet.Firma". Sie können sie bei Bedarf verschieben oder entfernen.
			this.firmaTableAdapter.Fill(this.kundendatenDataSet.Firma);

		}

		private void bnd_Firma_AddNewItem_Click(object sender, EventArgs e)
		{
			LöscheTextboxen(pnl_Firma);
			LöscheTextboxen(pnl_Bestellungen);
			LöscheTextboxen(pnl_Liefertermin);
		}
	}