Как перевести элемент list в строку из SQL запроса?

Запрос:

def get_userbalance(self, user_id):
    with self.connection:
        return self.cursor.execute("""
            SELECT balance 
            FROM `users` 
            WHERE `user_id` = ?""", (str(user_id),)).fetchall()

Код реализации:

balance = db.get_userbalance(message.from_user.id)
str = '*Ваш баланc:* ' + balance + ' руб.'
bot.send_message(message.chat.id, str, parse_mode="Markdown")

В этом поле в БД значение 12, нужно чтобы получилась строка: Ваш баланc: 12 руб., но постоянно какие то ошибки.

Как решить проблему?


Ответы (1 шт):

Автор решения: MaxU

Попробуйте так:

def get_userbalance(self, user_id):
    with self.connection:
        self.cursor.execute("SELECT balance FROM `users` WHERE `user_id` = ?",
                            (str(user_id),))
        row = self.cursor.fetchone()
        if row:
            return row[0]
        return None


balance = db.get_userbalance(message.from_user.id)
msg = f'*Ваш баланc:* {balance} руб.'
bot.send_message(message.chat.id, msg, parse_mode="Markdown")
→ Ссылка