【问题标题】:SQL: Parameters from excel generate error: String data, right truncationSQL:来自 excel 的参数生成错误:字符串数据,右截断
【发布时间】:2014-03-12 20:00:32
【问题描述】:

将参数2添加到查询后,我收到一条错误消息:SQL Server Error “String Data, Right Truncation”。

参数由用户在 Excel 2010 电子表格中输入,并在 SQL 语句中用于更新报表。

例子:

财政年度(参数1):2014, 总帐日期(参数2)yyyymmdd:20140228

错误是由“GLPOST.JRNLDATE

WHERE GLAMF.ACCTID = GLPOST.ACCTID AND GLACGRP.ACCTGRPCOD = GLAMF.ACCTGRPCOD AND 
GLPOST.DRILLDWNLK = BKTRAND.DDLINK AND GLACGRP.SORTCODE='1000' AND   
GLPOST.FISCALYR>=? AND GLPOST.JRNLDATE<=?

在数据库中,GLPOST.FISCALYR 是 (char(4), not null) 并且工作正常。
GLPOST.JRNLDATE is (decimal(9,0), not null) 会导致错误。如果我输入一个硬编码值,例如:20140228、20131231 等......它可以工作,但它似乎没有从单元格中获取值。

我确实尝试了不同的格式,但没有成功,知道吗?谢谢!!

【问题讨论】:

    标签: sql parameters excel-2010 truncation


    【解决方案1】:

    也许尝试像这样转换参数:

    GLPOST.FISCALYR>=? AND GLPOST.JRNLDATE

    【讨论】:

    • 我确实尝试过强制转换,但没有成功,但是如果我删除 parameter1(会计年度),查询运行良好。也许为 parameter2 (char(4)) 准备的值被推入了 parameter1...
    • 你能贴出你用来添加参数的代码吗?
    • 代码和我上面贴的完全一样,它是一个ODBC连接,代码在:“命令文本”,然后是每个“?”与 Excel 电子表格中的单元格相关联。我猜问题出在某个地方
    猜你喜欢
    • 2020-07-26
    • 2012-07-18
    • 1970-01-01
    • 2021-07-03
    • 1970-01-01
    • 1970-01-01
    • 2016-05-28
    • 1970-01-01
    • 2019-04-10
    相关资源
    最近更新 更多