Ich habe SQL Server 2008 und VS 2008 Pro. Und ich kodiere in C#. Ich akzeptiere eine Texteingabedatei vom Kunden und parse diese Daten in eine DataTable in meiner C# aspx.cs-Datei. Ich weiß, dass das richtig funktioniert. Also habe ich die DataTable ausgefüllt. Aber wie kann ich diese Daten in einen SP laden? Wie kann ich einen dynamischen Tabellenparameter verwenden? Oder sollte ich stattdessen XML verwenden?Loading DataTable in SP
Das Problem besteht darin, dass die Anzahl der erforderlichen Spalten abhängig von der Tabelle variieren kann, in die sie eingefügt werden sollen. Die Details sind: Ich lasse den Benutzer auswählen, an welche Tabelle er Daten anhängen möchte. Der Einfachheit halber wollen wir sagen: TABLE_NAME NUM_COLS A 2 B 3 C 4
Und lassen Sie uns auch davon ausgehen, dass die erste Spalte in jeder von ihnen ist ein INT Primärschlüssel. Also, wenn sie Tabelle B wählen, dann würde DataTable in etwa so aussehen: PK C1 C2 C3 1 'd' 'e' '3/10/99' 2 'g' 'h' '4/10/99'
Jetzt möchte ich diese Daten oben in Tabelle B in meiner AdventureWorks DB anfügen. Was ist der einfachste Weg, dies sowohl in der SP-Definition als auch in dem C# -Code, der diesen SP aufruft, zu implementieren? Vielen Dank!
Danke, Ben. Das macht Sinn für mich. Alle deine Annahmen treffen auf meinen Code zu. Kennen Sie einige gute Online-Beispiele dafür, die ich für ein Modell dieser Methode prüfen kann? – salvationishere
Ich würde vorschlagen, jede Datenzeile zu analysieren, um den "Typ" zu bestimmen. Ich würde dann mit einer grundlegenden switch-Anweisung gehen oder das Strategy Pattern verwenden, um Ihre Datenaktualisierungen basierend auf der Zeile "type" zu behandeln. Grundsätzlich wird jeder Fall eine andere SQL-Routine ausführen. Wenn Sie weitere Informationen zum Strategie-Muster wünschen, beginnen Sie mit Jeremy Millers Artikel: http://codebetter.com/blogs/jeremy.miller/archive/2006/04/11/142665.aspx. Viel Glück. –