Python と PyODBC で更新する必要がある一連の SQL ID を取得しました。
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 = ''")
ID を更新する 2 番目のコードがあります。
cursor.execute("Update One.dbo.Two SET STATUS = 'Completed', Modified = 'Today' WHERE ID = '1051'")
問題は、以前に Python で取得した ID を表示すると、次のいずれかが取得されることです。
row = cursor.fetchall()
f row:
print row
[(1016, ), (1017, ), (1019, ), (1020, ), (1021, ), (1025, ), (1026, ), (1027, ), (1029, ), (1048, ) , (1049, )]
また
if row:
print row[3]
(1020, )
次のスクリプトの 2 番目の部分を実行できるように、番号だけが必要です。
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, )'
ID を再利用できるように、ID から文字を削除するにはどうすればよいですか?
ありがとう、
エイドリアン