2017-01-15 3 views
0

Это не работает: я не получаю никакого элемента.Разъем sqlite3 в python

к0 поплавок NumPy, дк является 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) 

ул (k0-дк), ул (k0 + дк)

Это Безразлично» т:

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) 

ул (15), ул (25)

Не работает либо, если я ставлю ул (поплавок (15)), ул (поплавок (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), стр (25)

+0

с * args Я получаю: Typ Функция eError: функция принимает не более 2 аргументов (15 данных) –

+0

nope: 14 вопросительных знаков, 14 аргументов –

ответ

0

Использование непосредственно фиксированных значений его:

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

или:

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