Привет, немного странный запрос, я запускаю 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)
Я даже пытался получить строки с помощью EmailНРАВИТСЯ запрос, но он все еще только возвращал один ИД, и это несуществующее значение 105524
Сервер sql - это MSSQL server 2017 и я работаю с Python 3.7.2. Это также кажется проблемой с pyodbc и pypyodbc.
Мои операторы печати возвращают:
SELECT [idPerson] FROM tblPersons WHERE [Email] LIKE 'Joe.Pike%'
['Joe.Pike%']
(105524,)
7271
Но цифры должны отличаться, и еще раз, чтобы подтвердить, когда я запускаю печатный оператор SQL в SQL Server Developer еговозвращает правильные данные.
спасибо заранее
PS это незаконченный код, поэтому, пожалуйста, игнорируйте ужасное форматирование (я также знаю, что не должен бытьng позиционные параметры для SQL-запросов, но я не вижу другого способа достижения конечного результата)