Autor Beitrag
MickeyMaus
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Do 21.08.08 11:01 
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 114
Erhaltene Danke: 3



BeitragVerfasst: Do 21.08.08 12: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 Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Do 21.08.08 13: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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 114
Erhaltene Danke: 3



BeitragVerfasst: Do 21.08.08 14: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 Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Do 21.08.08 14: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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 114
Erhaltene Danke: 3



BeitragVerfasst: Do 21.08.08 15: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.
ausblenden 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