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查询返回不正确的数据的主要内容,如果未能解决你的问题,请参考以下文章