Entwickler-Ecke
Datenbanken (inkl. ADO.NET) - Daten aus SQL Server holen und Auswahl wieder zurückschreibe
MickeyMaus - Do 21.08.08 10:01
Titel: Daten aus SQL Server holen und Auswahl wieder zurückschreibe
Hallo,
ich bin grad dabei mich in C# einzuarbeiten und habe eine Frage. Ich möchte einen Webservice schreiben der es ermöglicht Daten aus einem InfoPath Formular in eine SQL Server DB zu schreiben. Mein Problem ist nun dass ich zwar eingegebene Daten aus der Textbox in die DB schreiben kann aber nicht weiß wie ich eine Auswahl aus der Listbox (Daten aus Listbox sind aus der gleichen DB) zurückschreiben kann.
Bin dankbar um jeden Hinweis!
lothi - Do 21.08.08 11:11
Hallo MickeyMaus
Jetzt hast du uns schön erklärt was du gerne machen willst aber nicht was nicht funktioniert.
Das auslesen einer Listbox? Wenn ja was hast du versucht?
Das speichern in die DB? Wenn ja was hast du gemacht?
Gruss Lothi
MickeyMaus - Do 21.08.08 12:53
Ich weiß nicht wie ich grundsätzlich vorgehen muss. Alle Werte aus den Listboxen sind mit Name und ID in der DB hinterlegt. Für den in der Listbox ausgewählten Namen soll die dazugehörige ID in eine andere Tab der DB zurückgeschrieben werden. Meine Überlegung: Ich definiere eine Methode GetData mit Parameter name, mache für alle Namen SELECTs auf die entsprechenden Tabellen und bekomme somit die IDs geliefert. Dann definiere ich eine zweite Methode die die abgefragten IDs in eine andere Tabelle zurückschreibt. Ist es sinnvoll das so zu machen oder gibt es eine bessere Lösung?
lothi - Do 21.08.08 13:17
Ich verstehe immer noch nicht wo das Problem liegt und was du machen willst.
Einmal schreibst du:
| Zitat: |
Listboxen sind mit Name und ID in der DB hinterlegt
|
und dann wieder
| Zitat: |
mache für alle Namen SELECTs auf die entsprechenden Tabellen und bekomme somit die IDs geliefert |
Mit einer SQL UPDATE Anweisung kannst du doch die ausgewählten ID in die gewünschte Tabelle schreiben.
Stichwort: SqlDataAdapter
Gruss Lothi
MickeyMaus - Do 21.08.08 13:55
In den Listboxen wähle ich nur die namen (bezeichnungen) aus, zurückschreiben will ich aber die ID, d.h. ich muss mir die IDs zu den entsprechenden Namen ja erst aus der DB holen damit ich sie zurückschreiben kann. Meine Frage: Wie gehe ich am besten vor?
lothi - Do 21.08.08 14:23
Vermutlich kann man mehrere Namen auslesen.
Ich würde jetzt eine Klasse erstellen DatenHolen oder so.
Die Klasse enthält eine Eigenschaft List <string> Namenliste;
Die Klasse nicmmt die Verbindung zu Datenbank auf und stellt deinen SQL Code mit Namenliste zusammen.
SQL-Anweisung
1:
| SELECT ID FROM tbl WHERE name IN(Namenlist[0], Namenliste[1]) |
Als Rückgabe aus der Klasse an die Form nimmst du dann ein Dataset welches die ID von der Abfragen enthält.
So hast du das ganze schön unabhängig vom Formular und kannst die Klasse anderweitig auch noch benutzen.
Gruss lothi
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!