【发布时间】:2021-04-24 01:32:15
【问题描述】:
我在使用 C#StreamReader 从 csv 文件导入数据并将其存储在 SQL Server 中时遇到问题。 csv 文件中的所有列在插入数据库表时都被读取为varchar 数据类型。如何以正确的方式插入,以便将具有数值的列存储为int/float,将字符串存储为varchar等。
谁能建议一个正确的方法来完成这项任务?
任何人都可以提供健壮且通用的代码吗?
提前致谢。
【问题讨论】:
-
我不明白,表格是自动生成的?如果不是,为什么不手动放置好类型?
-
您需要转换您的数据类型。如果你分享你的代码的一部分,我可以告诉你如何修改它来实现它。
-
使用 CsvHelper 读取文件,您将有一个类来表示具有正确数据类型的数据。这是一个非常可靠的包。
-
你是如何插入的? SqlCommand 还是 SqlBulkCopy?还是别的什么?
标签: c# asp.net sql-server csv sqldatatypes