Как присвоить имена из столбца row считанной из БД к объекту self построчно
Возник вопрос, я считал с sqlite столбец с именами и пытаюсь построчно присвоить ее объекту класса self, но при попытке написать индекс присваиваются буквы сразу всех строк. Я новичек в программировании и не знаю как сделать это правильно, а поиск мне не помог.
con = sqlite3.connect("D:/Dataset/Dataset.db")
with con:
cur = con.cursor()
cur.execute("SELECT * FROM Person")
while True:
row = cur.fetchone()
if row == None:
break
self.sql = row [1]
self.name_known_list[0] = self.sql[0:20]
print (self.name_known_list[0])
print (type(self.name_known_list[0]))
Вывод print:
В моем случае нужно чтобы первый элемент name_know_list являлся первой строкой из БД. И это лучшее что я придумал.
Ответы (1 шт):
Мы не знаем что представляют из себя self.sql и self.name_known_list, поэтому отвечу на вопрос как в цикле пройтись по записям возвращенным cur.execute(...):
con = sqlite3.connect("D:/Dataset/Dataset.db")
cur = con.cursor()
cur.execute("SELECT * FROM Person")
for row in cur.fetchall():
print(row)
# process single record here ...
Если вам нужна единственная запись:
cur.execute("SELECT * FROM Person LIMIT 1")
row = cur.fetchone()
...
NOTE: в базах данных нет понятия первой записи если не указана явная сортировка (ORDER BY ...)
