IsambardKingdomBrunel
#sqlite
#sql
#python
#naukaprogramowania

x = 1
c.execute('SELECT * FROM my_procedures WHERE ROWID = (?)', (x))

jak to zmienić żeby można było odwoływać się do wiersza poprzez zmienną?
  • Najlepsze
  • Wszystkie komentarze
IsambardKingdomBrunel
@FiKsUmDyRdUm: Najważniejsze że w końcu załapałem :)
b.....u
b.....u
@IsambardKingdomBrunel: przecież odwołujesz się do wiersza 1 przez zmienną x w tym przykładzie...
seeksoul
@IsambardKingdomBrunel: Rowid to nie jest np. 1 czy 2 tylko np. coś takiego AAAAECAABAAAAgiAAA
IsambardKingdomBrunel
@buntuubuntu: ale wywala mi coś takiego:

ValueError: parameters are of unsupported type
IsambardKingdomBrunel
@seeksoul: wpisując:

c.execute('SELECT * FROM my_procedures WHERE ROWID = 1')

odwołuje mi elegancko do 1 wiersza
seeksoul
@IsambardKingdomBrunel: kontynuując:
ROWID to specjalny format danych; identyfikator konkretnego wiersza w całej bazie danych; przykład podałem wcześniej więc nie możesz zrobić x=1; jakbyś powiedział dokładnie co chcesz zrobić to bym mógł podpowiedzieć jak rozwiązać
seeksoul
@IsambardKingdomBrunel: a no dobra, myśłałem, że chodzi o Oracle'a, ale jednak nie
IsambardKingdomBrunel
@seeksoul: ok.

mam pole tekstowe w oknie programu i po naciśnięciu buttona ma pokazywać kolejne zawartości wierszy z bazy danych.
b.....u
b.....u
a próbowałeś tak?
c.execute('SELECT * FROM my_procedures WHERE ROWID =?', x)

Wydaje mi się, że próbujesz przekazać inta jako jakiegoś dziwnego tupla ;)
IsambardKingdomBrunel
@buntuubuntu: działało jak robiłem inserta. Myślałem że tutaj analogicznie.

twoje rozwiazanie wywala

ValueError: parameters are of unsupported type

czyli to samo
b.....u
b.....u
a spróbuj jeszcze x = str(1) przy tym moim rozwiązaniu bez nawiasów
IsambardKingdomBrunel
IsambardKingdomBrunel Autor
  • adult
0
Treść przeznaczona dla osób powyżej 18 roku życia...
b.....u
b.....u
cała wartość c.execute musi być stringiem :) a próbowałeś połączyć inta ze stringiem i python zgłupiał
IsambardKingdomBrunel
@buntuubuntu: w każdym bądź razie dzięki. kolejna cegiełka do wiedzy
FiKsUmDyRdUm
@IsambardKingdomBrunel: pytałeś o to samo przedwczoraj https://www.wykop.pl/wpis/24139087/python-naukaprogramowania-sql-jak-ustalic-nazwe-po/

w tupli gdzie jest jedna wartość musi być przecinek i wtedy bez problemu możesz to przekazać