V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
TomVista
V2EX  ›  问与答

OLEDB 查询 Access ,得到的数据和数据库里不一样

  •  
  •   TomVista · 2018-12-10 16:53:01 +08:00 · 829 次点击
    这是一个创建于 2175 天前的主题,其中的信息可能已经有所发展或是发生改变。

    sql 语句

    "select top 1 生产时间 from product where format(生产时间,'yyyy/MM/dd HH:mm:ss') = format(#2014/5/8 10:11:11#,'yyyy/MM/dd HH:mm:ss') order by 生产时间"

    连接字符串

    @"Provider=Microsoft.JET.OLEDB.4.0;Data Source=xx.mdb"

    查询结果

    "生产时间": "2014/5/8 10:11:10"

    最后得到的时间和数据库里存的不一样,#2014/5/8 10:11:11# - "2014/5/8 10:11:10"

    有的时间会出这个问题,有的不会.

    不会出现:2014/5/6 8:02:00 2014/6/10 14:38:15 2014/6/17 15:17:46

    会出现:2014/6/7 7:22:38 2014/6/11 14:49:24

    超级急,最后一周突然重构.

    补充:使用的.net 2.0

    第 1 条附言  ·  2018-12-10 17:31:08 +08:00
    已解决

    早上 9 点开始,折腾到下班前 10 分钟,一共 7 半小时.

    最终定位到数据计算精度上,

    使用 CDec CVar 函数处理数据.

    下面是新的 sql

    ``select top 20 CVar(生产时间) from product order by 生产时间``
    2 条回复    2018-12-10 18:08:28 +08:00
    zn
        1
    zn  
       2018-12-10 17:33:41 +08:00 via iPhone
    这表达,看得我一愣一愣的。
    TomVista
        2
    TomVista  
    OP
       2018-12-10 18:08:28 +08:00 via iPhone
    @zn 见谅啊,我争取写好点,要不都没人帮忙。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1222 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 18:18 · PVG 02:18 · LAX 10:18 · JFK 13:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.