J'ai attrapé un groupe d'ID SQL que je dois mettre à jour avec Python et pyodbc:Comment faire un strip "()," à partir de Python, PyODBC, SQL Returns?
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 = ''")
J'ai un deuxième morceau de code qui met à jour les ID:
cursor.execute("Update One.dbo.Two SET STATUS = 'Completed', Modified = 'Today' WHERE ID = '1051'")
Le problème est quand je visionne les ID saisirent en Python plus tôt, je reçois soit:
row = cursor.fetchall()
f row:
print row
[(1016,), (1017,), (1019,), (1020, ), (1021,), (1025,), (1026,), (1027), (1029,), (1048,), (1.049, )]
ou
if row:
print row[3]
(1020,)
J'ai juste besoin le numéro que je peux exécuter ma deuxième partie du script pour le:
WHERE ID = '1051'"
partie. J'ai essayé avec:
count = len(row)
while count > 0:
newrow = row[count-1]
print 'SELECT ID FROM One.dbo.Two WHERE ID = ' + str(newrow)
count = count-1
et il m'a donné:
ID SELECT DE One.dbo.Two WHERE ID = (1049,)
ID SELECT DE One.dbo.Two WHERE ID = (1048,)
etc ...
Et j'ai essayé:
str(row[1]).lstrip('(),')
et je suis arrivé:
'1017,)'
Comment puis-je bande les caractères de l'ID ainsi je peux réutiliser l'ID?
Merci,
Adrian
Il a fonctionné! Je vous remercie! :) – AdriMagnon