Csharp/C#教程:如何对CSV文件使用SQL分享


如何对CSV文件使用SQL

我想使用C#在CSV文件上使用SQL查询。 java 这里有类似的东西。 c#有这样的东西吗?

您可以使用适当的OLE DB提供程序来查询文本文件。 您可以在此处找到查询字符串:

Textfile连接字符串示例

您可以使用ODBC对CSV文件运行查询:

 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 } 

所以,你的意思是使用Linq?

像这些之一?
https://blogs.msdn.com/b/wriju/archive/2009/05/24/linq-to-csv-getting-data-the-way-you-want.aspx
https://blogs.msdn.com/b/ericwhite/archive/2008/09/30/linq-to-text-and-linq-to-csv.aspx

 // 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;} } 

您可以使用Openrowsets。

首先在SQL配置中启用SQL Ad Hoc / Openrowset。 启用后,您将能够连接SQL Server Managerment工作室并查询Excel和逗号分隔文件。

您的查询将类似于:

 SELECT * FROM OPENROWSET('MSDASQL','Driver={Microsoft Text Driver (*.txt; *.csv)};DefaultDir={your path}','SELECT * FROM ypurtextfile.csv') 

您可以在C#代码中使用这些查询,就像查询任何其他表一样。 只需咨询您的经理,他就可以在SQL Server上启用ad hoc

上述就是C#学习教程:如何对CSV文件使用SQL分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1022779.html

(0)
上一篇 2022年1月7日
下一篇 2022年1月7日

精彩推荐