python – PyODBC和Microsoft Access:来自简单查询的结果不一致

我使用pyodbc,通过Microsoft Jet,从Python程序访问Microsoft Access 2003数据库中的数据.

Microsoft Access数据库来自第三方;我只是在读数据.

我一般都在成功提取我需要的数据,但最近我注意到了一些差异.

我把它归结为一个简单的查询,形式如下:

SELECT field1 FROM table WHERE field1 = 601 AND field2 = 9067

我已经混淆了字段名称和值,但实际上,它并没有比这更简单!当我在Access中运行查询时,它返回一条记录.

然后我在pyodbc上运行它,代码如下所示:

connection = pyodbc.connect(connectionString)
rows = connection.execute(queryString).fetchall()

(再次,它没有比那更简单!)

queryString的值是从Access中的工作查询中剪切并粘贴的,但它不返回任何记录.我预计它会返回相同的记录.

当我更改查询以搜索field2,bingo的不同值时,它可以正常工作.这只是它拒绝的一些价值观.

所以,请帮帮我.接下来我应该在哪里解释这种差异?如果我不能相信琐碎的查询结果,我就没有机会参与这个项目!

更新:它变得更简单!以下查询给出了不同的数字……

SELECT COUNT(*)FROM table

我认为它是否与某些形式的缓存和/或偶尔填充数据的另一个应用程序的不正确的事务管理有关.

解决方法:

你能给我们一个模糊的数据库来显示这个问题吗?我从来没有经历过这个.至少给出表定义 – 是浮点数还是小数?

上一篇:C#使用schema.ini导入CSV文件创建表但不加载数据


下一篇:c#-ADOX表列的“空”属性?