gpt4 book ai didi

c# - 从 SQL Server 读取 - 需要从 CSV 读取

转载 作者:行者123 更新时间:2023-12-03 03:02:00 31 4
gpt4 key购买 nike

目前,我从 SQL server (2008) 数据库获取数据。 cyurrent的方法是使用DataTable,然后将其传递并使用。

    if (parameters != null)
{
SqlDataAdapter _dataAdapter = new SqlDataAdapter(SqlQuery, CreateFORSConnection());
foreach (var param in parameters)
{
_dataAdapter.SelectCommand.Parameters.AddWithValue(param.Name, param.Value);
}
DataTable ExtractedData = new DataTable(TableName);
_dataAdapter.Fill(ExtractedData);
return ExtractedData;
}
return null;

但是现在,用户说我们也可以从txt文件中获取数据,这些文件的结构与SQL Server中的表相同。因此,如果我有一个名为“Customer”的表,那么我就有一个包含 Customer 的 csv 文件。具有相同的列结构。 CSV 中的第一行是列名称,与我的表匹配。

是否可以将 txt 文件读入数据表,然后以某种方式对该数据表运行 SELECT? 大多数我的查询都是单表查询:

SELECT * FROM Table WHERE Code = 111

但是,在一种情况下我需要进行连接。这可能有点棘手,但我可以制定一个计划。如果我可以先将 txt 文件放入数据表中,我就可以使用它。

使用上面的代码,我是否可以不更改连接字符串以从 CSV 而不是 SQL Server 读取?

最佳答案

首先,您需要将 CSV 数据读入数据表。有许多 CSV 解析器,但由于您更喜欢使用 ADO.NET,因此可以使用 OleDB 客户端。请参阅以下文章。

http://www.switchonthecode.com/tutorials/csharp-tutorial-using-the-built-in-oledb-csv-parser

加入有点困难,因为两组数据位于不同的地方。但您可以做的是获取两个 DataTable(每个源一个),然后使用 Linq 将它们连接起来。

Inner join of DataTables in C#

关于c# - 从 SQL Server 读取 - 需要从 CSV 读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13714463/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com