2017-01-15 68 views
0

這不起作用:我沒有得到任何元素。python中的sqlite3連接器

K0是浮numpy的,DK爲int:

(k0, dk) 
(<class 'numpy.float64'>, <class 'int'>) 
(20.083143869749225, 6) 

-

get_close_rods = "select xmid, ymid, angle from datos where experiment_id=? " 
get_close_rods+= "and file_id=? and ymid between ? and ? and xmid between ? and ? and angle between ? and ? " 
get_close_rods+= "and major/minor between ? and ? order by ((xmid-?)*(xmid-?)+(ymid-?)*(ymid-?))*angle" 
#get_close_rods+= "order by ((xmid-?)*(xmid-?)+(ymid-?)*(ymid-?))*angle" 

args = (str(experiment_id_), str(file_ids[index+1]), str(pos0[1]-dd), 
      str(pos0[1]+dd), str(pos0[0]-dd), str(pos0[0]+dd), 
      str(angle-dangle), str(angle+dangle), str(k0-dk), str(k0+dk), 
      str(pos0[0]), str(pos0[0]), str(pos0[1]), str(pos0[1])) 

cursor2.execute(get_close_rods, args) 

STR(K0-DK),STR(K0 + DK)

一點也沒有」 t工作:

get_close_rods = "select xmid, ymid, angle, from datos where experiment_id=? " 
get_close_rods+= "and file_id=? and ymid between ? and ? and xmid between ? and ? and angle between ? and ? " 
get_close_rods+= "and major/minor between ? and ? order by ((xmid-?)*(xmid-?)+(ymid-?)*(ymid-?))*angle" 
#get_close_rods+= "order by ((xmid-?)*(xmid-?)+(ymid-?)*(ymid-?))*angle" 

args = (str(experiment_id_), str(file_ids[index+1]), str(pos0[1]-dd), 
      str(pos0[1]+dd), str(pos0[0]-dd), str(pos0[0]+dd), 
      str(angle-dangle), str(angle+dangle), str(15), str(25), 
      str(pos0[0]), str(pos0[0]), str(pos0[1]), str(pos0[1])) 

cursor2.execute(get_close_rods, args) 

STR(15),STR(25)

無法正常工作或如果我把STR(浮置(15)),STR(浮點(25))

當我使用該查詢時,它不顯示任何錯誤。

但這個工程:

get_close_rods = "select xmid, ymid, angle, from datos where experiment_id=? " 
get_close_rods+= "and file_id=? and ymid between ? and ? and xmid between ? and ? and angle between ? and ? " 
#get_close_rods+= "and major/minor between ? and ? order by ((xmid-?)*(xmid-?)+(ymid-?)*(ymid-?))*angle" 
#get_close_rods+= "order by ((xmid-?)*(xmid-?)+(ymid-?)*(ymid-?))*angle" 
get_close_rods+= "and major/minor between 15 and 25 order by ((xmid-?)*(xmid-?)+(ymid-?)*(ymid-?))*angle" 

args = (str(experiment_id_), str(file_ids[index+1]), str(pos0[1]-dd), 
      str(pos0[1]+dd), str(pos0[0]-dd), str(pos0[0]+dd), 
      str(angle-dangle), str(angle+dangle), #str(15), str(25), 
      str(pos0[0]), str(pos0[0]), str(pos0[1]), str(pos0[1])) 

cursor2.execute(get_close_rods, args) 

#str(15),STR(25)

+0

with * args我得到:Typ eError:函數最多需要2個參數(給出15個) –

+0

nope:14個問號,14個參數 –

回答

0

直接使用值固定它:

args = (..., 15, 25, ...) 

或:

args = (..., k0-dk, k0+dk, ...)