Domanda

Ho SQL Server 2008 e VS 2008 Pro. E sto codifica in C #. Accetto un file di input di testo da parte del cliente e il parsing questi dati in un DataTable nel mio C # aspx.cs file. So che questo funziona correttamente. Così ho popolato DataTable. Ma ora come faccio a caricare questi dati in un SP? Come posso utilizzare un parametro tabella dinamica? O dovrei usare XML, invece?

Il problema è che il numero di colonne richieste può variare a seconda di quale tabella vogliono inserire. I dettagli sono io permettere all'utente di selezionare quale tabella vogliono aggiungere dati a. Per semplicità, diciamo: TABLE_NAME NUM_COLS A 2 B 3 C 4

E anche supponiamo che la prima colonna in ciascuno di questi è una chiave primaria INT. Quindi, se scelgono tabella B, poi DataTable sarebbe simile: PK C1 C2 C3 1 'd' 'e' '3/10/99' 2 'g' 'h' '4/10/99'

Quindi ora voglio per aggiungere questi dati sopra in tabella B nel mio AdventureWorks DB. Qual è il modo più semplice per implementare questo sia nella definizione SP e anche il codice C # che chiama questo SP? Grazie!

È stato utile?

Soluzione

Credo di capire quello che stai chiedendo. Ho intenzione di assumere ogni riga dei suoi dati di importazione mapperà direttamente / in modo pulito a una tabella nel database. Ho anche intenzione di assumere la logica dell'applicazione può determinare dove deve essere mantenuta ogni riga di dati.

Detto questo, suggerisco lavorare con ciascuna riga della NET DataTable singolarmente anziché passare i dati alla rinfusa SQL come un singolo parametro stored procedure e quindi a seconda SQL per fare qualsiasi analisi dei dati e la tabella di mappatura.

Fondamentalmente, passante attraverso la vostra DataTable, determinare il tipo di dati ed eseguire l'inserto appropriato per ogni riga. Spero che questo possa essere d'aiuto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top