Pypyodbc 查询返回不正确的数据

Pypyodbc query returning incorrect data

嗨,有点奇怪,sql 查询 im 运行ning 是 SELECT [idPerson] FROM tblPersons WHERE [Email] LIKE 'Joe.Pike%'

如果我在服务器中 运行 这个我得到我正确的 personID,但是当我 运行 它在我的代码中我得到一个不存在的随机 personID,现在更奇怪的是是我的第二位代码查询基于 personID 并且 return 是一个值

    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)

我什至尝试使用 Email LIKE 查询获取所有行,但仍然只 returned 一个 ID,那是不存在的 105524 值

sql 服务器是 MSSQL server 2017 和 im 运行ning Python 3.7.2 这似乎也是 pyodbc 和 pypyodbc

的问题

我的打印语句return :

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

但是数字应该不同,当我 运行 在 sql 服务器开发人员中打印 sql 语句时再次确认它 return 是正确的数据.

提前致谢

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

天啊,请拍我!

不正确的数据库,我希望我可以删除问题