Pypyodbc查询返回不正确的数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Pypyodbc查询返回不正确的数据相关的知识,希望对你有一定的参考价值。

您好这样一个奇怪的一个位,SQL查询进出口运行是SELECT [idPerson] FROM tblPersons WHERE [Email] LIKE 'Joe.Pike%'

如果我在服务器上运行这个让我的正确PERSONID,但是当我在我的代码运行它,我得到的是不存在的随机PERSONID,什么是现在甚至离奇的是,我的代码查询的第二位基础上,PERSONID和返回一个值

    UserName = row[1]+'.'+row[2]
    Password = 'XXXXXXXX'
    Email = UserName + '@XXXXXXX.org.uk'

    emaillike = [str(row[1]+'.'+row[2]).replace("'", '')+"%"]

    sql = ("""SELECT [idPerson] FROM tblPersons WHERE [Email] LIKE """).format(str(emaillike).replace("[","").replace("]",""))
    PersonId = cursor.execute(sql).fetchone()

    PersonPin = \
        str(cursor.execute('SELECT [Pin] FROM tblPersonPins WHERE [PersonId] = ?'
                       , [PersonId[0]]).fetchone()).replace("'","").replace("(","").replace(")","").replace(",","")

    print(sql)
    print(emaillike)
    print(str(PersonId))
    print(PersonPin)

我甚至试图使用fetchall与电子邮件LIKE查询行,但仍然只返回了一个ID,那就是不存在的105524值

SQL服务器是MSSQL服务器2017年和IM运行的Python 3.7.2这似乎也与pyodbc问题以及pypyodbc

我打印语句返回:

SELECT [idPerson] FROM tblPersons WHERE [Email] LIKE 'Joe.Pike%' ['Joe.Pike%'] (105524,) 7271

但这些数字都应该是不同的,并再次确认,当我运行印刷SQL语句在SQL Server开发人员返回正确的数据。

提前致谢

P.S这是未完成的代码,所以请忽略可怕的格式(我也知道我不应该使用位置参数的SQL查询,但我看不到任何其他的方式来实现最终的结果)

答案

OMG请拍我!

不正确的数据库,男人,我希望我能删除的问题

以上是关于Pypyodbc查询返回不正确的数据的主要内容,如果未能解决你的问题,请参考以下文章

grails 命名查询返回不正确的数据

Postgresql:查询返回不正确的数据

SQL 查询为 PHP 中的 ID 列返回不正确的值

休眠查询不返回正确的结果

MySQL聚合选择查询返回不正确的数据

GeoDjango 距离查询返回不正确的结果