2009-05-28 4 views
0

Ich lese eine Textdatei in C# und versuche, es in einer SQL-Datenbank zu speichern. Mir geht es gut, außer ich möchte nicht die erste Zeile, die die Namen der Spalten enthält, die im Import enthalten sind. Was ist der einfachste Weg, diese auszuschließen?Speichern einer Textdatei in einer SQL-Datenbank ohne Spaltennamen

Der Code ist wie dieser

while (textIn.Peek() != -1) 
{ 
    string row = textIn.ReadLine(); 
    string[] columns = row.Split(' '); 
    Product product = new Product(); 
    product.Column1 = columns[0]; 
    etc..... 
    product.Save(); 
} 

dank

+0

Es scheint, dass Ihre Textdatei Registerkarte getrennt ist.Wenn das der Fall ist Sie kann verwenden: row.Split ("\ t"); – Beatles1692

Antwort

0

wie importieren Sie die Daten? Wenn Sie C# loopen und sie einzeln einfügen, konstruieren Sie Ihre Schleife, um die erste Einfügung zu überspringen!

oder löschen Sie einfach die erste Zeile eingefügt, nachdem sie dort sind.

weitere Informationen geben, ausführliche Informationen erhalten ...

2

Wenn Sie den Code schreiben, sich in der Datei zu lesen und dann den Import ..., warum Sie nicht nur über die erste Zeile überspringen?

0

Übergeben Sie eine Markierung in das Programm (falls die erste Zeile auch Daten enthält), wird das Programm die erste Zeile des Textes überspringen.

Wenn es die gleichen Spaltennamen sind, die in der Datenbank verwendet werden, können Sie auch die Spaltennamen auslesen anstatt sie hart zu kodieren (vorausgesetzt, dass Sie das gerade tun :)). Wenn Sie eine MySQL-Datenbank verwenden und über Befehlszeilenzugriff verfügen, sollten Sie sich die Syntax LOAD DATA LOCAL INFILE ansehen, mit der Sie ziemlich willkürlich definierte CSV-Daten importieren können.

1

Hier mein Vorschlag:

string[] file_rows; 
using(var reader=File.OpenText(filepath)) 
{ 
file_rows=reader.ReadToEnd().Split("\r\n"); 
reader.Close(); 
} 

for(var i=1;i<file_rows.Length;i++) 
{ 
var row=file_rows[i]; 
var cells=row.Split("\t"); 
.... 
} 
0

Für die Zukunft einen Blick auf dieses tolle Paket haben: FileHelpers Bibliothek

I Links nicht nur noch hinzufügen können, aber Google sollte helfen, dann ist es auf Source

Es macht unser Leben hier ein wenig einfacher, wenn Leute darauf bestehen, Dateien als Integration zu verwenden