Я взял кучу идентификаторов SQL, которые мне нужно обновить с помощью Python и PyODBC:
import pyodbc
cnxn = pyodbc.connect('DSN=YesOne;PWD=xxx')
cursor = cnxn.cursor()
cursor.execute("SELECT ID FROM One.dbo.Two WHERE STATUS = 'OnGoing' AND ID = ''")
У меня есть второй бит кода, который обновляет идентификаторы:
cursor.execute("Update One.dbo.Two SET STATUS = 'Completed', Modified = 'Today' WHERE ID = '1051'")
Проблема в том, что когда я просматриваю идентификаторы, полученные в Python ранее, я получаю:
row = cursor.fetchall()
f row:
print row
[(1016, ), (1017, ), (1019, ), (1020, ), (1021, ), (1025, ), (1026, ), (1027, ), (1029, ), (1048, ), (1049, )]
or
if row:
print row[3]
(1020, )
Мне нужен только номер, чтобы я мог запустить вторую часть скрипта для:
WHERE ID = '1051'"
часть. Я пробовал с:
count = len(row)
while count > 0:
newrow = row[count-1]
print 'SELECT ID FROM One.dbo.Two WHERE ID = ' + str(newrow)
count = count-1
и это дало мне:
SELECT ID FROM One.dbo.Two WHERE ID = (1049, )
SELECT ID FROM One.dbo.Two WHERE ID = (1048, )
и т. д.
И я попытался:
str(row[1]).lstrip('(),')
и я получил:
'1017, )'
Как удалить символы из идентификатора, чтобы я мог повторно использовать идентификатор?
Спасибо,
Адриан