首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在C#中使用非数值数据更新Excel单元格

在C#中使用非数值数据更新Excel单元格
EN

Stack Overflow用户
提问于 2010-03-24 13:28:25
回答 2查看 1.4K关注 0票数 1

我有一个问题是

代码语言:javascript
复制
ExcelQuery = "Update [Sheet1$] "
               +"set CITIZEN_ID = #" + value 
               + " where CITIZEN_ID = " + value; 

如您所见,我基本上只是在CITIZEN_ID字段前面加上一个"#“。value是整型/数字型值。因此,如果我在CITIZEN_ID列中有"256“,它将被转换为"#256”。

当我执行它时,我得到一个OleDbException Syntax error in date in query expression,所以我用单引号将查询的一部分括起来,如下所示

代码语言:javascript
复制
ExcelQuery = "Update [Sheet1$] "
               +"set CITIZEN_ID = '#" + value + "' "
               +"where CITIZEN_ID = " + value; 

这样,我就得到了另一个OleDbException,这次是用Data type mismatch in criteria expression.

我猜是出于某种原因,CITIZEN_ID字段不想接受除普通数字以外的任何参数。有没有什么办法可以纠正这个问题,把那个井号放进去?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-03-24 14:00:34

您就不能更改数字格式,使其在CITIZEN_ID字段中的每个数字前显示一个“#”吗?

这并不能解决你所说的问题。但它避免了它:-)

更新:此StackOverflow问题( excel-cell-formatting)讨论使用C#设置单元格格式

票数 1
EN

Stack Overflow用户

发布于 2010-03-25 17:30:28

这听起来像是在尝试使用SQL语句将一个文本值INSERT到一个列中,而该列被DBMS ( Access数据库引擎)视为DOUBLE FLOAT,并因此得到一个类型不匹配错误。您可以更改注册表值以说服引擎将该列视为文本,请参见:

External Data - Mixed Data Types

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2505547

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档