Ich möchte eine SQL-Abfrage für eine CSV-Datei mit C# verwenden. Es gibt so etwas für Java here. Gibt es so etwas für C#?So verwenden Sie SQL für eine CSV-Datei
Antwort
Sie können den entsprechenden OLE DB-Provider verwenden, um die Textdatei abzufragen. Sie können die Query-String finden Sie hier:
So, meinst du mit Linq?
So etwas wie eins von diesen?
http://blogs.msdn.com/b/wriju/archive/2009/05/24/linq-to-csv-getting-data-the-way-you-want.aspx
http://blogs.msdn.com/b/ericwhite/archive/2008/09/30/linq-to-text-and-linq-to-csv.aspx
können Sie ODBC verwenden, um eine Abfrage für eine CSV-Datei auszuführen:
string strConn = @"Driver={Microsoft Text Driver (*.txt; *.csv)};" +
"Dbq=C:;Extensions=csv,txt";
OdbcConnection objCSV = new OdbcConnection(strConn);
objCSV.Open();
OdbcCommand oCmd = new OdbcCommand("select column1,column2 " +
"from THECSVFILE.CSV", objCSV);
OdbcDataReader oDR = oCmd.ExecuteReader();
while (oDR.read())
{
// Do something
}
Eine kleine Notiz, diese kompiliert nicht wegen des Kleinbuchstaben 'r' in' while (oDR.read()) ' – akousmata
// need to add
// using System.Linq;
void Main()
{
var path = @"C:\myfile.csv";
string csv = System.IO.File.ReadAllText(path);
var array = csv.Split(new[]{","}, StringSplitOptions.RemoveEmptyEntries);
// Do the mapping with your databinding object
var personArray = array.Select(p => new Person { Name = p});
// You need to have this DataContext defined somewhere, for instance using LinqToSql
using(var context = new PersonDataContext()){
context.InsertAllOnSubmit(personArray);
context.SubmitChanges();
}
}
// Imagine this class is one of linqToSql class
public class Person{
public string Name {get;set;}
}
Sie können Openrowsets verwenden.
Aktivieren Sie zuerst SQL Ad-Hoc/Openrowset in der SQL-Konfiguration. Nach der Aktivierung können Sie Ihr SQL Server Managerment Studio verbinden und Excel- und Komma-getrennte Dateien abfragen.
Ihre Anfragen in etwa so aussehen wird: in C# -Code
SELECT * FROM OPENROWSET('MSDASQL','Driver={Microsoft Text Driver (*.txt; *.csv)};DefaultDir={your path}','SELECT * FROM ypurtextfile.csv')
Sie diese Abfragen wie Sie abfragen, alle anderen Tabellen verwenden können. Überprüfen Sie einfach mit Ihrem Manager, dass er in Ordnung mit Ihnen Ad-hoc auf dem SQL Server
- 1. So verwenden Sie geschachtelte TransactionScopes für eine Azure SQL-Datenbank
- 2. So verwenden Sie Join | Codezeichner | sql |
- 3. So verwenden Sie hier
- 4. So verwenden Sie DropDownListFor
- 5. Oracle SQL verwenden wie für eine Wildcard
- 6. Verwenden Sie eine LIKE-Anweisung für SQL Server-XML-Datentyp
- 7. Würden Sie Sql Server Compact für eine Desktopanwendung verwenden?
- 8. So verwenden Sie Twitter als Login für eine Website
- 9. So verwenden Sie awk für eine komprimierte Datei
- 10. So verwenden Sie eine Systemtastatur in benutzerdefinierte Tastatur für iOS
- 11. OWL So verwenden Sie mehrere Einschränkungen für eine Klasse
- 12. So verwenden Sie SIFT für Bildvergleich
- 13. So verwenden Sie dplyr für die Programmierung
- 14. So verwenden Sie ojdbc.policy für Oracle-Verbindung
- 15. So verwenden Sie ein Häkchen für UITableView
- 16. So verwenden Sie NonNullByDefault für ein Paket
- 17. So verwenden Sie mehrere SQL-Datenbank in Orchard CMS
- 18. So verwenden Sie Bower für Github Blog
- 19. So verwenden Sie HTTPContext für SPList
- 20. So verwenden Sie das Modell für QCombobox
- 21. So verwenden Sie eine Eigenschaftendatei mit GlassFish
- 22. So verwenden Sie eine Kamera mit OpenCV
- 23. So verwenden Sie eine Vorlage mit Ember.CollectionView
- 24. So verwenden Sie * als Platzhalter in SQL-Abfrage sicher
- 25. So verwenden Sie Goutte
- 26. So verwenden Sie appStoreReceiptURL
- 27. So verwenden Sie duplizierten()
- 28. So rufen Sie eine gespeicherte Prozedur von LINQ zu SQL auf, wenn Sie "Code-first" verwenden
- 29. So verwenden Sie WaitForSingleObject
- 30. So verwenden Sie UCKeyTranslate
ist Gibt es eine Möglichkeit, verschiedene Datumsformat Werte mit OLE DB mit CSV-Datei analysieren. Wie 'mm.dd.yyyy' oder' mm-dd-yyyy'? –