我想把excel中的数据导入到数据库中,通过OLEDB取出EXCEL数据时, excel中单元格为 "false"的,程序调试时看到取出来的dataset中的结果显示为"假",但是我数据库中的这个字段的类型为 bit 型的,当插入数据时就会提示异常信息:在将 varchar 值 '假' 转换成数据类型 bit 时失败。excel中的单元格数据:
调试程序时看到的dataset中的数据:
string strConn = "Provider=Microsoft.Ace.OleDb.12.0;" + "data source=" + fileNameUrl + ";Extended Properties='Excel 12.0; HDR=Yes; IMEX=1'";
conn = new OleDbConnection(strConn);
conn.Open();
foreach (string item in excelSheets)
{
System.Data.DataTable dt = new System.Data.DataTable();
OleDbDataAdapter odda = new OleDbDataAdapter(string.Format("select * from [{0}$]", item), conn);
odda.Fill(dt);
dt = IgnoreExcelRowA(dt);
ds.Tables.Add(dt);
}
return ds;
ExcelOLEDB数据库
调试程序时看到的dataset中的数据:
string strConn = "Provider=Microsoft.Ace.OleDb.12.0;" + "data source=" + fileNameUrl + ";Extended Properties='Excel 12.0; HDR=Yes; IMEX=1'";
conn = new OleDbConnection(strConn);
conn.Open();
foreach (string item in excelSheets)
{
System.Data.DataTable dt = new System.Data.DataTable();
OleDbDataAdapter odda = new OleDbDataAdapter(string.Format("select * from [{0}$]", item), conn);
odda.Fill(dt);
dt = IgnoreExcelRowA(dt);
ds.Tables.Add(dt);
}
return ds;
ExcelOLEDB数据库
我不太想去循环判断去改,我只是很好奇为什么会把"false"转成"假",我在数据库里试了一下,如果是"false"的话是可以插入的,为什么"false"会变成"假"呢