【发布时间】:2016-12-16 09:51:36
【问题描述】:
我有一个从 CSV 文件创建 SQL 数据库的函数。但是当它读取带有变音符号的字符时,它会在我的 SQL 表中显示一个问号。我怎样才能解决这个问题?这是我的代码:
private static System.Data.DataTable GetDataTabletFromCSVFile(string csv_file_path, string tablenaam)
{
System.Data.DataTable csvData = new System.Data.DataTable();
try
{
using (TextFieldParser csvReader = new TextFieldParser(csv_file_path))
{
csvReader.SetDelimiters(new string[] { "," });
csvReader.HasFieldsEnclosedInQuotes = true;
string[] colFields = csvReader.ReadFields();
foreach (string column in colFields)
{
DataColumn datecolumn = new DataColumn(column);
datecolumn.AllowDBNull = true;
csvData.Columns.Add(datecolumn);
}
while (!csvReader.EndOfData)
{
string[] fieldData = csvReader.ReadFields();
//Making empty value as null
for (int i = 0; i < fieldData.Length; i++)
{
if (fieldData[i] == "")
{
fieldData[i] = null;
}
}
csvData.Rows.Add(fieldData);
}
}
}
catch (Exception ex)
{
}
InsertDataIntoSQLServerUsingSQLBulkCopy(csvData,tablenaam);
return csvData;
}
【问题讨论】:
-
检查您的字符编码和本地化是否为数据库、表、列等设置正确。
-
另外,不要吞下异常。
标签: c# sql visual-studio csv