我抓到了一些需要用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:
^{pr2}$问题是,当我在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, )
我只需要数字,这样我就可以运行脚本的第二部分:
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, )
etc...
我试着:
str(row[1]).lstrip('(),')
我得到了:
'1017, )'
如何从ID中删除字符以便重用ID?在
谢谢
阿德里安
我认为问题是您正在从列表中访问元组,因此需要指定list中的location和tuple中的location:
输出:
^{pr2}$首先:
然后放弃你可怕的while循环:
^{pr2}$相关问题 更多 >
编程相关推荐