【发布时间】:2020-03-07 23:31:18
【问题描述】:
我希望将 Excel 数据导入 SQL Server 表。字段值为 EmpId (int)、Name (varchar)、Dept_Id (int)、isSupervisor (bit)。我正在使用 ASP.NET MVC。
这里显示的代码是我迄今为止尝试过的:
private final GetEmployeeFromExcelRow(DataRow row)
{
return new final
{
EmpId = int.Parse(row[0].ToString()),
Name = row[1].ToString(),
Dept_Id = int.Parse(row[2].ToString()),
isSupervisor = Convert.ToBoolean(row[3].ToString())
};
}
我不断收到错误
字符串未被识别为有效的布尔值。
我尝试将值插入为“True”、True 和 1。我是 ASP.NET MVC 编码的新手,这是我在这里发布的第一个问题,我们将不胜感激。
【问题讨论】:
-
听起来
row[3]不正确。它应该是Boolean.TrueString或Boolean.FalseString。如果执行查询本身出错,请包含该代码。 -
@Zer0,在我的应用程序中,我让用户手动插入真值或假值,然后导入它们。这是一个更大项目的一部分。该代码适用于位和字符串值,仅在插入布尔数据时引发异常。谢谢。
-
那么布尔字符串应该是“True”或“False”,区分大小写。您的问题似乎只是对
row[3]的价值不高。例如,Convert.ToBoolean("True")应该可以正常工作。
标签: c# sql-server