Laden...

Artikeldaten laden nach Eingabe der ID

Erstellt von caoimhin vor 13 Jahren Letzter Beitrag vor 13 Jahren 1.195 Views
C
caoimhin Themenstarter:in
34 Beiträge seit 2010
vor 13 Jahren
Artikeldaten laden nach Eingabe der ID

verwendetes Datenbanksystem: <MSSQL>

Guten Abend,

ich bin noch recht neu und blutiger Anfänger was die Programmierung angeht. Ich schreibe im moment, oder besser ich versuche für meine Freundin ein etwas spezielles Fahrtenbuch zu schreiben.

Ich stehe nun vor einem Problem das ich irgendwie nicht gelöst bekomme.
Eigentlich kann es nicht so schwer sein weil es bestandteil von jeder Warenwirtschaft ist dieses System zu verwenden.

Ich habe also eine Master Tabelle mit Kunden

ID,
Name,
Strasse,

um es simpel zu halten. Außerdem eine Detail Tabelle Strecken :
UID,
Startname,
Startstrasse, (bis hier wird alles per Verbindung gefüllt)
ZielID,
ZielName,
Zielstrasse,
Entfernung

UID.Strasse = ID.Kunde

Die ZielID also das Ziel das ich von dem aktuell geöffneten Kunden erreichen kann wähle ich per ComboBox aus. Soweit so gut, das funktioniert auch alles. Jetzt möchte ich das die Strasse von meinem Ziel das ich gerade per Combobox ausgewählt habe in die Zielstrasse eingetragen wird. Wie stelle ich das an? Insert ist denke ich der komplett falsche Ansatz, Update ebenso weil ich den Datensatz ja noch nicht zuende bearbeitet habe.

Hole ich mir per select die daten und fülle sie in die Textbox oder das Datagridfeld?
Irgendwo hänge ich da fest. Vielleicht kann mir jemand den passenden Denkanstoß geben das ich weiter komme.

Gesucht habe ich bereits - vielleicht auch wegen unwissenheit mit den falschen Suchbegriffen 😉 Sollte das Thema hier im Forum geschon behandelt worden sein würde ich mich um einen link freuen, ich konnte leider nichts finden.

Gruß

Kevin

Das hoffen wir alle

2.223 Beiträge seit 2005
vor 13 Jahren

Hallo caoimhin,

ja nachdem selectedChanged der ComboBox lädst du den betreffenden Datensatz aus deiner DB mittels Select und updatest dann mit dem Ergebniss deine Textboxen.

Viele Grüße
Lars

C
caoimhin Themenstarter:in
34 Beiträge seit 2010
vor 13 Jahren

Hallo Lars,

vielen dank, werde mich dann mal an die umsetzung machen und hoffe das ich das endlich hinbekomme 😉

Gruß

Kevin

Das hoffen wir alle

C
caoimhin Themenstarter:in
34 Beiträge seit 2010
vor 13 Jahren

Schönen guten abend noch einmal,

nachdem ich mich nun ein paar Tage aus Weihnachtlichen Gründen nicht mit meinem kleinen Programm beschäftigen konnte habe ich heute etwas... jedoch ohne Erfolg versucht. Ich hoffe ich bin nicht ganz auf dem Holzweg. Hier mal mein Versuch

private void streckenDataGridView_SelectionChanged(object sender, EventArgs e)
        {
            {
                DataGridView dgv = (DataGridView)sender;
                DataGridViewCell dgvc = dgv.CurrentCell;

                if (dgvc.OwningColumn.Name == "Zielid" && dgvc.IsInEditMode)
                {
                // Erstmal nur ein Test ob überhaupt etwas passiert 
                 dgv.CurrentRow.Cells[Zielstrasse.Index].Value = "TEST";
                }

            }
        }

Wie ihr euch sicher vorstellen könnt - es passiert nix.
Ich weis nur leider nicht woran es liegt.

Über tipps und Hilfestellung bin ich sehr sehr dankbar 😉

Grüße

Kevin 😁

Das hoffen wir alle

Gelöschter Account
vor 13 Jahren

Das kannst du selber viel einfacher und nachhaltiger mit Debugging herausfinden. Setze einfach einen Breakpoint auf die erste Anweisung und beobachte, die Werte, die du abfragst bei jedem schritt.

C
caoimhin Themenstarter:in
34 Beiträge seit 2010
vor 13 Jahren

Nochmal ich,

nachdem ich nun den 'Fehler' gefunden habe erzeugt mir diese if anweisung brav mein "Test" Value. IsInEdit mode war natürlich auch Käse in diesem Fall.

Wie schaffe ich aber nun einen SQL Befehl als Value einzubauen?


private void streckenDataGridView_SelectionChanged(object sender, EventArgs e)
        {
            {
                DataGridView dgv = (DataGridView)sender;
                DataGridViewCell dgvc = dgv.CurrentCell;

                if (dgvc.OwningColumn.Name == "Zielid")
                {
                // Erstmal nur ein Test ob überhaupt etwas passiert
                 dgv.CurrentRow.Cells[Zielstrasse.Index].Value = "TEST";
                }

            }
        }

Über Tips freue ich mich nach wie vor und bin auch meinen Helferlein hier im Forum sehr sehr dankbar 😉

Gruß

Kevin

Das hoffen wir alle

Gelöschter Account
vor 13 Jahren

wo genau liegt das Problem?

C
caoimhin Themenstarter:in
34 Beiträge seit 2010
vor 13 Jahren

Hallo,

ich möchte nun ein select aus einer Tabelle machen. Das Feld was ich dort per select abfrage heißt z.B. "Strasse".

Ich möchte aber das sich in der WHERE Anweisung noch einmal auf das dgv Feld bezieht was ich ja gerade erst eingegeben habe.

Also (ich weiss das fuktioniert sicherlich nicht so)

Select Strasse from Tabelle
WHERE
ID = @dgv.CurrentRow.Cells[Zielid.Index]

Selbst wenn ich den Sql-Befehl irgendwie gebaut bekomme weiß ich leider immer noch nicht wie ich den als Value direkt abfeuern kann. Konnte dazu leider in meinem C# noch in meinem MsSQL Buch was finden. Entweder ist es zu einfach und liegt auf der Hand und ich verstehe es nur nicht oder ich gehe es falsch an.

Gruß

Kevin

Das hoffen wir alle

Gelöschter Account
vor 13 Jahren