Sqlite3 interfaceerror error binding parameter 0 probably unsupported type

Issue I tried to put data in to a table using variabels, as you can see down below in the ...

Issue

I tried to put data in to a table using variabels, as you can see down below in the code. When I’m running this piece of code I get the following error:

What I want the code to do is, get the data out of the parameters i’m giving in to the function insert_data. And then using the wildcard questionmark symbol. To get the option to use the variabels as data. Not quite sure if it’s the most propper way of doing so. But it does work in other occations. I just don’t get why it does not work in this piece of code.

Traceback (most recent call last):
  File "{path}", line 65, in <module>
    insert_data()
  File "{path}", line 56, in insert_data
    query ("INSERT INTO computers (name, os, mac_addr) VALUES "
  File "{path}", line 8, in query
    cursor.execute(query, args)
sqlite3.InterfaceError: Error binding parameter 0 - probably unsupported type.

MY CODE

import cgi
import sqlite3
from os import path, environ

def query(query, *args):
    db = sqlite3.connect(database)
    cursor = db.cursor()
    cursor.execute(query, args)
    resultaat = cursor.fetchall()
    db.commit()
    db.close()
    return resultaat

def database_create():
    if path.isfile(database) != True:
        query("CREATE TABLE 'computers' ('name' TEXT, 'os' TEXT, 'mac_addr' TEXT,"
                         "'create_date' timestamp DEFAULT current_timestamp)")
        query("CREATE TABLE 'data' ('computer_id' integer, 'mem_usage' float,"
                         "'cpu_usage' float, 'total_size' float, 'used_size' float, 'free_size' float,"
                         "'create_date' timestamp DEFAULT current_timestamp)")
        query("CREATE TABLE 'grafieken' ('name' TEXT, 'legend' TEXT)")
        query("CREATE TABLE 'gebruikers'('u_name' TEXT, 'p_word' TEXT)")
        query("INSERT INTO 'gebruikers' (u_name, p_word) VALUES ('beheerder',"
              "'695badbd075fdacd8638a600712f9aec74dd85b6ae61f7ab7f0f45e438196bf0aac117102d328e3d4e92fd5fc78f593a50875f900a7fe59f5d463bbf35af245c3b605ec3b6f91cbec7452801ca5ca95ebf00b248e73d07b9934d25ab21b6943a83d1944450854ef05044be01ff0d3b72b158209a70a28c3e063ec6a7f806d610')")
        query("INSERT INTO grafieken VALUES ('Totale hardeschijf ruimte', 'Ruimte (GB), hoger is beter')")
        query("INSERT INTO grafieken VALUES ('Beschikbare hardeschijf ruimte', 'Ruimte (GB), hoger is beter')")
        query("INSERT INTO grafieken VALUES ('Gebruikte hardeschijf ruimte', 'Ruimte (GB), lager is beter')")
        query("INSERT INTO grafieken VALUES ('Geheugenverbruik', 'Geheugen (%), lager is beter')")
        query("INSERT INTO grafieken VALUES ('CPU-verbruik', 'Processor (%), lager is beter')")
        print ('done')
    elif path.isfile(database) == True:
        print ('DB already exists')
    else:
        print('failed')

def insert_data():
    try:
        import psutil
    except ImportError:
        print('no psutil installed')
        exit(1)
    import platform
    import uuid

    diskspace = psutil.disk_usage('/')
    spacetoGB = [diskspace[0] // (2 ** 30), diskspace[1] // (2 ** 30), diskspace[2] // (2 ** 30)]  # Total, used, free
    name = platform.uname()[1],
    mac_addr = '%012x' % uuid.getnode(),  # https://stackoverflow.com/questions/13864608/get-mac-address-in-python-and-append-to-string
    #totalsize = spacetoGB[0],
    #usedsize = spacetoGB[1],
    #freesize = spacetoGB[2],
    os = platform.system() + " " + platform.release(),
    # memusage = psutil.virtual_memory().percent,
    # cpu_usage = psutil.cpu_percent(interval=1)

    query ("INSERT INTO computers (name, os, mac_addr) VALUES "
           "(?,?,?)", *(name, os, mac_addr,))
    data = 'Record added'
    print (data)
    #return data


database = "tester.db"
database_create()
insert_data()

Solution

The commas (,) terminating the set statments (eg name = platform.uname()[1],) cast the variables as tuples.

Answered By — DinoCoderSaurus

Содержание

  1. Ошибка sqlite3.InterfaceError: Error binding parameter 0 — probably unsupported type. Как исправить?
  2. Ошибка error_model_bind на телевизоре Самсунг Смарт ТВ: причины, как исправить?
  3. Что такое error model bind на Samsung Smart TV?
  4. Причины
  5. Как исправить error_model_bind на Samsung Smart TV?
  6. sqlite3.InterfaceError: ошибка привязки параметра 1 — вероятно, неподдерживаемый тип
  7. 3 ответы
  8. Ошибка 0xc0000906 при запуске приложения — как исправить
  9. Причины ошибки приложения 0xc0000906 и способы её исправления
  10. Видео
  11. Python-сообщество
  12. Уведомления
  13. #1 Март 15, 2013 11:49:29
  14. тип при вставке в базу данных
  15. #2 Март 15, 2013 13:04:40
  16. тип при вставке в базу данных
  17. #3 Март 15, 2013 13:07:48
  18. тип при вставке в базу данных
  19. #4 Март 15, 2013 15:04:31
  20. тип при вставке в базу данных
  21. #5 Март 15, 2013 15:10:50
  22. тип при вставке в базу данных
  23. #6 Март 15, 2013 15:28:56
  24. тип при вставке в базу данных
  25. #7 Март 16, 2013 10:07:08
  26. тип при вставке в базу данных
  27. #8 Март 16, 2013 10:45:05
  28. тип при вставке в базу данных
  29. #9 Март 16, 2013 15:53:59
  30. тип при вставке в базу данных
  31. #10 Март 18, 2013 08:06:26
  32. тип при вставке в базу данных

Ошибка sqlite3.InterfaceError: Error binding parameter 0 — probably unsupported type. Как исправить?

Пишу телеграм бота на библиотеке aiogram, использую модуль sqlite3.
При нажатии на инлайн кнопку должна выводиться вся инфа о товаре. Но выдает ошибку.

Код базы данных:

Код хендлера, который принимает нужный мне калбэк:

База данных в sqlitestudio:

  • Вопрос задан 04 окт. 2022
  • 362 просмотра

Простой 1 комментарий

Ну хотя бы немного думать своей головой надо, а не просто копировать какие-то строчечки из интернета.
Метод fetchall() возвращает данные какого типа?
а в execute() надо передавать данные какого типа?

Вот реально — неделю назад вы писали код, который был мало того что почти рабочим — он был осмысленным.
Я понимаю, если бы вы не умели работать с базой данных. Но у вас уже был рабочий код!
А здесь опять какие-то самолеты из соломы. Попытка получить скалярную переменную с числом из запроса, который возвращает ВСЕ колонки ВСЕХ строк таблицы.

Для начала вам надо забыть про питон и телеграм, а сесть за консоль SQL
и научиться писать все запросы, которые понадобятся

Источник

Ошибка error_model_bind на телевизоре Самсунг Смарт ТВ: причины, как исправить?

Ошибка error_model_bind на Samsung Smart TV– сбой в работе телевизора, который возникает при подключении устройства к WI-FI или домашнему интернету. Распространённая явление среди владельцев техники IG Smart TV. Такая проблема возникает вследствие проблем с провайдером. Для устранения необходимо связаться с оператором, который предоставляет услуги телевидения. Воспользуйтесь горячей линией или напишите сообщение в чат. Сделайте запрос и дождитесь ответа. Попробуйте решить неполадки самостоятельно.

Что такое error model bind на Samsung Smart TV?

Код error_model_bind на телевизоре Самсунг Смарт ТВ появляется при плохом качестве подключения сети к ТВ. Наиболее распространённое явление – телевизионное устройство не видит модем или роутер. Второй вариант – постоянные перебои со связью. Из-за этого сигнал теряется. Прежде чем устранять поломку, необходимо определить проблему. Воспользуйтесь подсказками и найдите причину сбоя.

Причины

Все пользователи домашнего смарт телевидения могут столкнутся с подобными неполадками. Основные причины:

  1. Отсутствие подключения к домашнему internet. Обратитесь за консультацией к провайдеру. Возможно, в этот период проходят технические работы.
  2. Перегруженный эфир Вай Фая. Ситуация возникает, тогда, когда к домашнему роутеру подключены многие дополнительные устройства. В таком случае, включите кабель напрямую к телеприемнику. Используйте правильный провод и вход.
  3. Сбой основных параметров на телевизоре. Проверьте правильность введенных данных. Время и Дата должны выставляться согласно часовому поясу.
  4. Временные технические работы на платформе Самсунг Смарт Hub. Дождитесь несколько минут и заново подключитесь.

Как исправить error_model_bind на Samsung Smart TV?

Исправить любую поломку возможно самостоятельно. В зависимости от типа проблемы, существует определенное решение. Рекомендуется сделать полный сброс настроек. Будьте внимательны! Такой метод удалит все параметры. Придется вносить данные заново. Сделайте запрос в техническую поддержку компании Самсунг. Задайте нужные вопрос по телефону. Операторы предоставляют шаги для устранения подобной ошибки. Попробуйте также перезагрузить телевизор, модем и домашний интернет. Временные сбои случаются в любой системе.

Источник

sqlite3.InterfaceError: ошибка привязки параметра 1 — вероятно, неподдерживаемый тип

У меня есть эта досадная ошибка, которую я не смог решить. вот моя функция

А вот моя таблица (Sqlite: D)

И это ошибка, которая у меня есть,

Как вы видите, я напечатал тип «pic.user.profile_picture», и он вернул str. Я также пытался использовать эти две функции ( unicode и str ), просто чтобы убедиться, что он возвращает строку без везения.

Любые идеи? ура 😀

3 ответы

Ладно, это глупо, лол

не являются типом TEXT . но сообщение об ошибке говорит о проблеме с pic.user.profile_picture. таким образом, если у вас есть эта ошибка просто проверьте все параметры 🙂

ответ дан 23 окт ’12, 15:10

Собственно, подсказка в последней строчке: Error binding parameter 1 . Параметр 1 pic.caption ( pic.id параметр 0, pic.created_time являющийся параметром 2 и т. д.) — Glibdud

Это стоило мне часов. Ага. проверить типы все параметры! Ценный глупо-простой совет. — Марк Уорбертон

Самый простой способ решить эту проблему — преобразовать все столбцы фрейма данных в str и применить метод to_sql. df = df.applymap(str) в противном случае вы можете изменить типы данных каждого столбца, совместимые с типами данных SQLite, перед сохранением фрейма данных в таблицу SQLite. dtype параметр to_sql метод был бы полезен для преобразования типов данных столбцов при вставке данных в таблицу SQL.

ответ дан 24 окт ’20, 20:10

Сообщение об ошибке

Ошибка привязки параметра 1 — вероятно, неподдерживаемый тип

сообщает, что значение в позиции 1 * в последовательности значений, переданных в cursor.execute, является экземпляром типа не поддерживается модулем sqlite3 Python.

Модуль Python sqlite3 поддерживает передачу None , int , float , str , bytes по умолчанию, а также умеет адаптировать datetime.date и datetime.datetime экземпляров.

Чтобы исправить ошибку, преобразуйте значение в указанной позиции в поддерживаемый тип.

Можно имитировать хранение неподдерживаемых типов в базе данных путем регистрации адаптеров и преобразователей для преобразования объектов этого типа в один из поддерживаемых типов и обратно. ** . Это механизм, используемый для обработки date и datetime экземпляры. Представьте, что у нас есть Fruit класс, который мы хотим иметь возможность хранить и извлекать в базе данных.

Мы создаем функции адаптера и конвертера и регистрируем их в sqlite:

Мы можем пройти detect_types к соединению и создайте таблицу со столбцом типа fruit :

Столбец будет иметь тип fruit в Sqlite, но он будет связан с поддерживаемым классом хранилища: text , в таком случае.

* Позиция вычисляется с использованием счета с отсчетом от нуля, поэтому первая позиция — это второй ценностное

** Этот пример не охватывает все параметры — прочтите документацию по модулю для получения подробной информации.

Источник

Ошибка 0xc0000906 при запуске приложения — как исправить

Ошибка при запуске приложения 0xc0000906 одновременно и достаточно распространена среди пользователей Windows 10, 8 и Windows 7 и мало, о чем им говорит, соответственно, не ясно, как исправить ошибку. О том, что делать, если вы столкнулись с этой ошибкой и пойдет речь в этой инструкции.

Чаще всего рассматриваемая ошибка приложения возникает при запуске различных, не вполне лицензионных, игр, таких как GTA 5, Sims 4, The Binding of Isaac, Far Cry и других так называемых «репаков». Однако, иногда с ней можно столкнуться и при попытке запустить не игру, а какую-то простую и полностью бесплатную программу.

Причины ошибки приложения 0xc0000906 и способы её исправления

Основная причина сообщения «Ошибка при запуске приложения 0xc0000906» — отсутствие дополнительных файлов (чаще всего, DLL), которые требуется для запуска вашей игры или программы.

В свою очередь, причина отсутствия этих файлов почти всегда — ваш антивирус. Суть в том, что нелицензионные игры и программы содержат модифицированные файлы (взломанные), которые многими сторонними антивирусами молча блокируются или удаляются, что в свою очередь, и вызывает появление этой ошибки.

Отсюда возможные способы исправить ошибку 0xc0000906

  1. Попробуйте временно отключить ваш антивирус. Если у вас нет стороннего антивируса, но установлена Windows 10 или 8.1, попробуйте временно отключить Защитник Windows, либо, второй вариант — зайти в центр безопасности Windows 10, перейти в раздел «Защита от вирусов и угроз» и либо добавить папку с игрой в исключения в пункте «Управление настройками», либо зайти в журнал защитника и разрешить запуск обнаруженных модифицированных файлов.
  2. Если это сработало, и игра или программа сразу запустилась, добавьте папку с ней в исключения вашего антивируса, чтобы не приходилось каждый раз его отключать.
  3. Если способ не сработал, попробуйте такой путь: отключите ваш антивирус, удалите игру или программу, пока антивирус отключен, снова установите её, проверьте, запускается ли и, если да — добавьте папку с ней в исключения антивируса.

Почти всегда один из этих вариантов срабатывает, однако, в редких случаях, причины могут слегка другими:

  • Повреждения файлов программы (вызванные не антивирусом, а чем-либо ещё). Попробуйте удалить её, скачать из другого источника (если это возможно) и снова установить.
  • Повреждения системных файлов Windows. Попробуйте выполнить проверку целостности системных файлов.
  • Неправильная работа антивируса (в этом случае при его отключении проблема решается, но при включении ошибка 0xc0000906 происходит при запуске почти любого .exe. Попробуйте полностью удалить и заново установить антивирус.
  • В комментариях к статье предложили ещё один вариант: попробовать запустить игру (программу) от имени администратора.

Видео

В видео инструкции ниже решение для рассматриваемой ошибки продемонстрировано наглядно с необходимыми пояснениями.

Надеюсь, один из способов поможет вам разобраться с проблемой и вернуть запуск игры или программы без ошибок.

Источник

Python-сообщество

Уведомления

#1 Март 15, 2013 11:49:29

тип при вставке в базу данных

db = sqlite3.connect(‘:memory:’)
db.execute(‘create table main(id, hist)’)
db.execute(‘insert into main values(. )’, …)

InterfaceError: Error binding parameter 1 — probably unsupported type.

Отредактировано mrgloom (Март 15, 2013 11:49:41)

#2 Март 15, 2013 13:04:40

тип при вставке в базу данных

mrgloom
InterfaceError: Error binding parameter 1 — probably unsupported type.

#3 Март 15, 2013 13:07:48

тип при вставке в базу данных

sqlite поддерживает динамическую типизацию, это значит если не указан тип хранимых данных для поля, то sqlite будет преобразовывать их по определленному алгоритму (одни типы данных имеют приоритет выше, другие ниже), например у INTEGER приоритет выше чем у TEXT и т.д.
mrgloom просто выполните type(hist), когда узнаете тип преобразуйте к нужному и все.

#4 Март 15, 2013 15:04:31

тип при вставке в базу данных

и к чему преобразовывать?

#5 Март 15, 2013 15:10:50

тип при вставке в базу данных

у нового cv2 интерфейса гистограмма вроде бы типа

но так тоже просто так не записывается в базу

#6 Март 15, 2013 15:28:56

тип при вставке в базу данных

Для крестов можно сделать так
Проверьте в своей библиотеке такую возможность.

#7 Март 16, 2013 10:07:08

тип при вставке в базу данных

4kpt
нет, я такую СУБД не пользую=)

s0rg
теперь я вас понял, в данном случае краткость сыграла скорее негативную роль). По поводу SQLIte если он не знает в какой тип преобразовать получаемое значение, то выдаст ошибку. Ну в прочем об этом и я и ТС уже сказали.

mrgloom
blob это иногда очень хорошо. А не работало у вас скорее потому что нужно сделать base64.encodestring(data), впрочем это лишь пол пути, затем вам надо считам из БД перевести обратно в исходный тип. Как это делается в вашем случае не зннаю.

_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

#8 Март 16, 2013 10:45:05

тип при вставке в базу данных

Может cv2.cv.cvhistogram или numpy.ndarray (должен) поддерживают pickle?
Сохранение:

#9 Март 16, 2013 15:53:59

тип при вставке в базу данных

JOHN_16
в данном случае краткость сыграла скорее негативную роль

Согласен, но насколько я понял у ТС-а более прикладная задача (OpenCV как-никак) и он не очень дружит с типами данных в питоне, потому решил не ‘грузить’ его лишний раз. Так как он использует питон не как язык, который ему нужно выучить, а как инструмент с помощью которого он может решить свою задачу. Будет опыт — сам разберется, что к чему.

UPD: Кстати да — плюсую pickle

Отредактировано s0rg (Март 16, 2013 16:04:05)

#10 Март 18, 2013 08:06:26

тип при вставке в базу данных

c pickle тоже не работает для cv2.cv.cvhistogram

db.execute(‘insert into main values(. )’, (1, sqlite3.Binary(pickle.dumps(hist))))

Traceback (most recent call last):
File “

”, line 1, in
db.execute(‘insert into main values(. )’, (1, sqlite3.Binary(pickle.dumps(hist))))
File “C:Python27libpickle.py”, line 1374, in dumps
Pickler(file, protocol).dump(obj)
File “C:Python27libpickle.py”, line 224, in dump
self.save(obj)
File “C:Python27libpickle.py”, line 306, in save
rv = reduce(self.proto)
File “C:Python27libcopy_reg.py”, line 70, in _reduce_ex
raise TypeError, “can’t pickle %s objects” % base.__name__
TypeError: can’t pickle cvhistogram objects

db.execute(‘insert into main values(. )’, (1, sqlite3.Binary(hist)))

Traceback (most recent call last):
File “

Источник

hi,

I have created a program that will take user input in form in flask and will save it to sqlite3 , but whenever i submit it i receive the following error

Error:

sqlalchemy.exc.InterfaceError: (sqlite3.InterfaceError) Error binding parameter 0 - probably unsupported type. [SQL: 'INSERT INTO otrs ("Agent", "Date", "XID_Number", "RERA_Number", "RERA_URL", "City", "State", "Data_Types", creation_id) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)'] [parameters: (<>, '', '', '', '', '', '', 'OTRS', None)] (Background on this error at: http://sqlalche.me/e/rvf5)

This is my db_creaor file:

from sqlalchemy import create_engine, ForeignKey
from sqlalchemy import Column, Date, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import relationship, backref, sessionmaker
import psycopg2


engine = create_engine("sqlite:///dashboard.db", echo=True)

Base = declarative_base()

class creation(Base):

    __tablename__ = "rera"

    id = Column(Integer, primary_key=True)

    name = Column(String)

##        def __init__(self, name):
##
##            """"""
##            self.name = name

    def __repr__(self):

        return "<creation: {}>".format(self.name)

class OTRS(Base):

    """"""

    __tablename__ = "otrs"

    id = Column(Integer, primary_key=True)
    Agent = Column(String)
    Date = Column(Date)
    XID_Number = Column(String)
    RERA_Number = Column(String)
    RERA_URL = Column(String)
    City = Column(String)
    State = Column(String)
    Data_Types = Column(String)



    creation_id = Column(Integer, ForeignKey("rera.id"))

    create = relationship("creation", backref=backref(

        "otrs", order_by=id))

##    def __init__(self, Agent, Date, XID_Number,RERA_Number,RERA_URL,City, State, Data_Types):
##
##        """"""
##        self.Agent = Agent
##        self.Date = Date
##        self.XID_Number = XID_Number
##        self.RERA_Number = RERA_Number
##        self.RERA_URL = RERA_URL
##        self.City = City
##        self.State = State
##        self.Data_Types = Data_Types
##
# create tables

Base.metadata.create_all(engine)

This is my main.py

from app import app
from db_setup import init_db, db_session
from forms import DataSearchForm, DataForm
from flask import flash, render_template, request, redirect
from models import OTRS, creation
from sqlalchemy.orm import sessionmaker

init_db()

@app.route('/', methods=['GET', 'POST'])
def index():
    search = DataSearchForm(request.form)
    if request.method == 'POST':
        return search_results(search)

    return render_template('index.html', form=search)


@app.route('/results')
def search_results(search):
    results = []
    search_string = search.data['search']

    if search.data['search'] == '':
        qry = db_session.query(OTRS)
        results = qry.all()

    if not results:
        flash('No results found!')
        return redirect('/')
    else:
        # display results
        return render_template('results.html', results=results)

@app.route('/new_data', methods=['GET', 'POST'])

def new_data():
    """
    Add a new data
    """
    form = DataForm(request.form)

    if request.method == 'POST' and form.validate():
        # save the FORM
        otrs = OTRS()
        print(otrs)
        save_changes(otrs, form, new=True)
        flash('Form created successfully!')
        return redirect('/')
    return render_template('new_data.html', form=form)

def save_changes(otrs, form, new=False):
    """
    Save the changes to the database
    """
    # Get data from form and assign it to the correct attributes
    # of the SQLAlchemy table object
    Agent = creation()
    Agent.name = form.Agent.data

    otrs.Agent = Agent
    #otrs.Agent = form.Agent.data
    otrs.Date = form.Date.data
    otrs.XID_Number = form.XID_Number.data
    otrs.RERA_Number = form.RERA_Number.data
    otrs.RERA_URL = form.RERA_URL.data
    otrs.City = form.City.data
    otrs.State = form.State.data
    otrs.Data_Types = form.Data_Types.data
    if new:
        # Add the new data to the databae
        db_session.add(otrs)
    
    db_session.commit()
    # commit the data to the databa
if __name__ == '__main__':
    app.run()

this is my db.setup:

# db_setup.py

from sqlalchemy import create_engine
from sqlalchemy.orm import scoped_session, sessionmaker
from sqlalchemy.ext.declarative import declarative_base
import psycopg2

engine = create_engine('sqlite:///dashboard.db', convert_unicode=True)
db_session = scoped_session(sessionmaker(autocommit=False,
                                         autoflush=False,
                                         bind=engine))
Base = declarative_base()
Base.query = db_session.query_property()

def init_db():
    import models
    Base.metadata.create_all(bind=engine)

this my models.py

from app import db

class creation(db.Model):
    __tablename__ = "rera"
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String)
##    def __init__(self, name):
##
##        """"""
##        self.name = name
    def __repr__(self):
        return "<{}>".format(self.name)

class OTRS(db.Model):

    """"""
    __tablename__ = "otrs"
    id = db.Column(db.Integer, primary_key=True)
    Agent = db.Column(db.String)
    Date = db.Column(db.String)
    XID_Number = db.Column(db.String)
    RERA_Number = db.Column(db.String)
    RERA_URL = db.Column(db.String)
    City = db.Column(db.String)
    State = db.Column(db.String)
    Data_Types = db.Column(db.String)

    creation_id = db.Column(db.Integer, db.ForeignKey("rera.id"))
    create = db.relationship("creation", backref=db.backref(

        "otrs", order_by=id), lazy=True)

##    def __init__(self, Agent, Date,XID_Number,RERA_Number,RERA_URL,City, State, Data_Types):
##
##        """"""
##        self.Agent = Agent
##        self.Date = Date
##        self.XID_Number = XID_Number
##        self.RERA_Number = RERA_Number
##        self.RERA_URL = RERA_URL
##        self.City = City
##        self.State = State
##        self.Data_Types = Data_Types

can anyone please tell how to solve this error ?

Issue

I’m trying to add an Attempt to the sqlite database using the following SQLAlchemy model file:

from app import db
from datetime import datetime

class User(db.Model):
    id = db.Column(db.Text, primary_key=True)
    name = db.Column(db.Text, nullable=False)
    email = db.Column(db.Text, nullable=False, unique=True)
    profile_pic = db.Column(db.Text, nullable=False)

    def __repr__(self):
        return '<User {}>'.format(self.name)

class Puzzle(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    width = db.Column(db.Integer, nullable=False)
    height = db.Column(db.Integer, nullable=False)
    letters = db.Column(db.String(225), nullable=False)

    def __repr__(self):
        return '<PuzzleNum {}>'.format(self.id)

class Attempt(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    puzzle_id = db.Column(db.Integer, db.ForeignKey('puzzle.id'))
    user_id = db.Column(db.Text, db.ForeignKey('user.id'))
    started = db.Column(db.DateTime, index=True, default=datetime.utcnow)
    finished = db.Column(db.DateTime, index=True)

    def __repr__(self):
        return '<Attempt {}>'.format(self.started)

I use flask shell to execute the following to get the User and Puzzle objects (which indicates that my other loaded tables are working fine):

>>> u = User.query.first()
>>> print(u.name)
Mark
>>> p = Puzzle.query.get(1)
>>> print(p.width)
10

I get the desired User and Puzzle object for my Attempt, but when I run the following it triggers an sqlite InterfaceError:

>>> a = Attempt(puzzle_id=p, user_id=u)
>>> db.session.add(a)
>>> db.session.commit()
Traceback (most recent call last):
  File "a:shellweave2venvlibsite-packagessqlalchemyenginebase.py", line 1276, in _execute_context
    self.dialect.do_execute(
  File "a:shellweave2venvlibsite-packagessqlalchemyenginedefault.py", line 608, in do_execute
    cursor.execute(statement, parameters)
sqlite3.InterfaceError: Error binding parameter 0 - probably unsupported type.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "a:shellweave2venvlibsite-packagessqlalchemyormscoping.py", line 163, in do
    return getattr(self.registry(), name)(*args, **kwargs)
  File "a:shellweave2venvlibsite-packagessqlalchemyormsession.py", line 1046, in commit
    self.transaction.commit()
  File "a:shellweave2venvlibsite-packagessqlalchemyormsession.py", line 504, in commit
    self._prepare_impl()
  File "a:shellweave2venvlibsite-packagessqlalchemyormsession.py", line 483, in _prepare_impl
    self.session.flush()
  File "a:shellweave2venvlibsite-packagessqlalchemyormsession.py", line 2540, in flush
    self._flush(objects)
  File "a:shellweave2venvlibsite-packagessqlalchemyormsession.py", line 2682, in _flush
    transaction.rollback(_capture_exception=True)
  File "a:shellweave2venvlibsite-packagessqlalchemyutillanghelpers.py", line 68, in __exit__
    compat.raise_(
  File "a:shellweave2venvlibsite-packagessqlalchemyutilcompat.py", line 182, in raise_
    raise exception
  File "a:shellweave2venvlibsite-packagessqlalchemyormsession.py", line 2642, in _flush
    flush_context.execute()
  File "a:shellweave2venvlibsite-packagessqlalchemyormunitofwork.py", line 422, in execute
    rec.execute(self)
  File "a:shellweave2venvlibsite-packagessqlalchemyormunitofwork.py", line 586, in execute
    persistence.save_obj(
  File "a:shellweave2venvlibsite-packagessqlalchemyormpersistence.py", line 239, in save_obj
    _emit_insert_statements(
  File "a:shellweave2venvlibsite-packagessqlalchemyormpersistence.py", line 1135, in _emit_insert_statements
    result = cached_connections[connection].execute(
  File "a:shellweave2venvlibsite-packagessqlalchemyenginebase.py", line 1011, in execute
    return meth(self, multiparams, params)
  File "a:shellweave2venvlibsite-packagessqlalchemysqlelements.py", line 298, in _execute_on_connection
    return connection._execute_clauseelement(self, multiparams, params)
  File "a:shellweave2venvlibsite-packagessqlalchemyenginebase.py", line 1124, in _execute_clauseelement
    ret = self._execute_context(
  File "a:shellweave2venvlibsite-packagessqlalchemyenginebase.py", line 1316, in _execute_context
    self._handle_dbapi_exception(
  File "a:shellweave2venvlibsite-packagessqlalchemyenginebase.py", line 1510, in _handle_dbapi_exception
    util.raise_(
  File "a:shellweave2venvlibsite-packagessqlalchemyutilcompat.py", line 182, in raise_
    raise exception
  File "a:shellweave2venvlibsite-packagessqlalchemyenginebase.py", line 1276, in _execute_context
    self.dialect.do_execute(
  File "a:shellweave2venvlibsite-packagessqlalchemyenginedefault.py", line 608, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.InterfaceError: <unprintable InterfaceError object>

Solution

Your Attempt class has a number of properties includingpuzzle_id and user_id. Both of which are of type Integer:

class Attempt(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    puzzle_id = db.Column(db.Integer, db.ForeignKey('puzzle.id'))
    user_id = db.Column(db.Text, db.ForeignKey('user.id'))
    started = db.Column(db.DateTime, index=True, default=datetime.utcnow)
    finished = db.Column(db.DateTime, index=True)

    def __repr__(self):
        return '<Attempt {}>'.format(self.started)

You query your ORM and retrieve a Puzzle and User object and store them as p and u. If you checked what type p was (eg. on the terminal: type(p)) you would get <PuzzleNum 1> for example (not an Integer)

So this fails:

>>> a = Attempt(puzzle_id=p, user_id=u)
>>> db.session.add(a)
>>> db.session.commit

puzzle_id is expecting an Integer but it’s getting a Puzzle. Changing your code to:

>>> a = Attempt(puzzle_id=p.id, user_id=u.id)
>>> db.session.add(a)
>>> db.session.commit

Will access the id attribute on each of the models, which is an Integer and so doesn’t break the rules you’ve set.

Answered By – Doobeh

This Answer collected from stackoverflow, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0

I’ve searched high and low via google for a reason why my INSERT call is not working. Best I can tell my syntax is correct. The full error I receive is:

Traceback (most recent call last): File «freqbottest.py», line 34, in <module> cur.execute(«insert into gameswapfreq values(?,?,?,?)», (initsubmission.auth or, initsubmission.created_utc, initsubmission.url, initsubmission.title)) sqlite3.InterfaceError: Error binding parameter 0 — probably unsupported type.

Best I can tell from reddit API is that all data returned is a string with the exception of create_utc which is a long. I’ve confirmed that I am getting correct data, and have tired using those initX variables inside the execute line with no success. I have also confirmed that the table is being created.

EDIT: I’ve tried making the insert statement a string and using it instead. I saw a post somewhere here that suggested that. Did not solve. I’ve tried sending just the initsubmission.author, and using literal strings for the rest. Still did not work. I have also tried creating the table with timecreated as a text and integer type. No luck there either. I was able to send all literals to the insert statement, so this leads me to believe that .author etc is not returning something I’m expecting.

Any assistance is greatly appreciated!

code:

import datetime
import praw
import time
import sqlite3 as lite
import sys

TARGETSUB = 'gameswap'


r = praw.Reddit('monitor author post frequency     /u/bsturtle')
r.login()


#create and fill sqlite db with submissions less than X number of days old. include author, time, url, submission title.
#exclude submissions made by moderators

con = lite.connect('gameswapfreq.db')

with con:
cur = con.cursor()
cur.execute("Drop TABLE IF EXISTS gameswapfreq")
cur.execute("Create table gameswapfreq (author text, createdtime real, url text, title text)")

initsubreddit = r.get_subreddit(TARGETSUB)

for initsubmission in initsubreddit.get_new(limit=10):
	#if post is greater than X days, skip. can we break here? YES WE CAN, JUST NEED TO ADD TEST
		if initsubmission.author not in initsubreddit.get_moderators():	
			initAuthor = initsubmission.author
			initCreatedUTC = initsubmission.created_utc
			initURL = initsubmission.url
			initTitle = initsubmission.title
			print initAuthor				
			cur.execute("insert into gameswapfreq values(?,?,?,?)", (initsubmission.author, initsubmission.created_utc, initsubmission.url, initsubmission.title))

The following error happened with Python 3.6.9[pypy-7.3.1-final].

If I remember correctly I’ve seen this before (likely also with PyPy so it
might be a (compatibility) issue there), but it is not reproducible easily
(i.e. depends on some randomness somewhere, but e.g. pytest-xdist / parallel
execution is not involved here).

Traceback (most recent call last):
  File "/home/runner/work/pytest/pytest/.tox/pypy3-coverage/bin/coverage", line 8, in <module>
    sys.exit(main())
  File "/home/runner/work/pytest/pytest/.tox/pypy3-coverage/site-packages/coverage/cmdline.py", line 865, in main
    status = CoverageScript().command_line(argv)
  File "/home/runner/work/pytest/pytest/.tox/pypy3-coverage/site-packages/coverage/cmdline.py", line 582, in command_line
    return self.do_run(options, args)
  File "/home/runner/work/pytest/pytest/.tox/pypy3-coverage/site-packages/coverage/cmdline.py", line 747, in do_run
    self.coverage.save()
  File "/home/runner/work/pytest/pytest/.tox/pypy3-coverage/site-packages/coverage/control.py", line 651, in save
    data = self.get_data()
  File "/home/runner/work/pytest/pytest/.tox/pypy3-coverage/site-packages/coverage/control.py", line 705, in get_data
    if self._collector and self._collector.flush_data():
  File "/home/runner/work/pytest/pytest/.tox/pypy3-coverage/site-packages/coverage/collector.py", line 423, in flush_data
    self.covdata.add_arcs(self.mapped_file_dict(self.data))
  File "/home/runner/work/pytest/pytest/.tox/pypy3-coverage/site-packages/coverage/sqldata.py", line 480, in add_arcs
    data,
  File "/home/runner/work/pytest/pytest/.tox/pypy3-coverage/site-packages/coverage/sqldata.py", line 1089, in executemany
    return self.con.executemany(sql, data)
  File "/opt/hostedtoolcache/PyPy/3.6.9/x64/lib_pypy/_sqlite3.py", line 423, in executemany
    return cur.executemany(*args)
  File "/opt/hostedtoolcache/PyPy/3.6.9/x64/lib_pypy/_sqlite3.py", line 773, in wrapper
    return func(self, *args, **kwargs)
  File "/opt/hostedtoolcache/PyPy/3.6.9/x64/lib_pypy/_sqlite3.py", line 938, in executemany
    return self.__execute(True, sql, many_params)
  File "/opt/hostedtoolcache/PyPy/3.6.9/x64/lib_pypy/_sqlite3.py", line 889, in __execute
    self.__statement._set_params(params)
  File "/opt/hostedtoolcache/PyPy/3.6.9/x64/lib_pypy/_sqlite3.py", line 1180, in _set_params
    "probably unsupported type." % i)
_sqlite3.InterfaceError: Error binding parameter 0 - probably unsupported type.

(Relevant) build log snippet:

2020-07-10T12:02:21.1241557Z ##[group]Run tox -e pypy3-coverage
2020-07-10T12:02:21.1241784Z �[36;1m tox -e pypy3-coverage�[0m
2020-07-10T12:02:21.1283065Z shell: /bin/bash -e {0}
2020-07-10T12:02:21.1283288Z env:
2020-07-10T12:02:21.1283409Z   pythonLocation: /opt/hostedtoolcache/PyPy/3.6.9/x64/bin
2020-07-10T12:02:21.1283544Z   PY_CACHE_KEY: a7b50a511a2559972db1d08dcdfb271afef80b32fea9877f227b24b0046b1cbc
2020-07-10T12:02:21.1283683Z   PYTEST_ADDOPTS: -ra --durations=50 -m 'pypy_specific or acceptance_tests'
2020-07-10T12:02:21.1283790Z   COLUMNS: 120
2020-07-10T12:02:21.1283899Z ##[endgroup]
2020-07-10T12:02:23.2514091Z Using /home/runner/work/pytest/pytest/.tox/.package/bin/python (3.6.9 (2ad108f17bdb, Apr 07 2020, 02:59:05)).
2020-07-10T12:02:26.4351047Z Using /home/runner/work/pytest/pytest/.tox/pypy3-coverage/bin/python (3.6.9 (2ad108f17bdb, Apr 07 2020, 02:59:05)).
2020-07-10T12:02:26.4411333Z pypy3-coverage inst-nodeps: /home/runner/work/pytest/pytest/.tox/.tmp/package/1/pytest-5.2.3.dev1473+gebe4a61e1.tar.gz
2020-07-10T12:03:05.2452703Z pypy3-coverage installed: argcomplete==1.11.1,attrs==19.3.0,certifi==2020.6.20,cffi==1.14.0,chardet==3.0.4,coverage==5.2,coverage-enable-subprocess==1.0,elementpath==1.4.6,greenlet==0.4.13,idna==2.10,importlib-metadata==1.7.0,mock==4.0.2,more-itertools==8.4.0,nose==1.3.7,packaging==20.4,pluggy==0.13.1,py==1.8.1,pyparsing==2.4.7,pytest @ file:///home/runner/work/pytest/pytest/.tox/.tmp/package/1/pytest-5.2.3.dev1473%2Bgebe4a61e1.tar.gz,readline==6.2.4.1,requests==2.24.0,six==1.15.0,urllib3==1.25.9,wcwidth==0.2.5,xmlschema==1.2.2,zipp==3.1.0
2020-07-10T12:03:05.2462774Z pypy3-coverage run-test-pre: PYTHONHASHSEED='4253141730'
2020-07-10T12:03:05.2465149Z pypy3-coverage run-test: commands[0] | coverage run -m pytest
2020-07-10T12:03:09.4893852Z ================================================= test session starts ==================================================
2020-07-10T12:03:09.4913368Z platform linux -- Python 3.6.9[pypy-7.3.1-final], pytest-5.2.3.dev1473+gebe4a61e1, py-1.8.1, pluggy-0.13.1
2020-07-10T12:03:09.4968578Z rootdir: ~/work/pytest/pytest, inifile: tox.ini, testpaths: testing
2020-07-10T12:03:09.4975308Z implicit args: '-ra -p pytester --strict-markers -l' (addopts config), "-ra --durations=50 -m 'pypy_specific or acceptance_tests'" (PYTEST_ADDOPTS)
2020-07-10T12:03:09.4978821Z cachedir: .tox/pypy3-coverage/.pytest_cache
2020-07-10T12:03:59.1194338Z collected 2777 items / 2694 deselected / 83 selected
…
2020-07-10T12:05:40.9196933Z ============================== 82 passed, 2694 deselected, 1 xfailed in 151.41s (0:02:31) ==============================
2020-07-10T12:05:41.7220437Z Traceback (most recent call last):
2020-07-10T12:05:41.7222504Z   File "/home/runner/work/pytest/pytest/.tox/pypy3-coverage/site-packages/coverage/cmdline.py", line 740, in do_run
2020-07-10T12:05:41.7222740Z     runner.run()
2020-07-10T12:05:41.7223301Z   File "/home/runner/work/pytest/pytest/.tox/pypy3-coverage/site-packages/coverage/execfile.py", line 247, in run
2020-07-10T12:05:41.7223466Z     exec(code, main_mod.__dict__)
2020-07-10T12:05:41.7223885Z   File "/home/runner/work/pytest/pytest/.tox/pypy3-coverage/site-packages/pytest/__main__.py", line 8, in <module>
2020-07-10T12:05:41.7224061Z     raise SystemExit(pytest.main())
2020-07-10T12:05:41.7224178Z SystemExit: ExitCode.OK
2020-07-10T12:05:41.7224240Z 
2020-07-10T12:05:41.7224361Z During handling of the above exception, another exception occurred:
2020-07-10T12:05:41.7224447Z 
2020-07-10T12:05:41.7224542Z Traceback (most recent call last):
2020-07-10T12:05:41.7224913Z   File "/home/runner/work/pytest/pytest/.tox/pypy3-coverage/bin/coverage", line 8, in <module>
2020-07-10T12:05:41.7225065Z     sys.exit(main())
2020-07-10T12:05:41.7225452Z   File "/home/runner/work/pytest/pytest/.tox/pypy3-coverage/site-packages/coverage/cmdline.py", line 865, in main
2020-07-10T12:05:41.7225605Z     status = CoverageScript().command_line(argv)
2020-07-10T12:05:41.7226012Z   File "/home/runner/work/pytest/pytest/.tox/pypy3-coverage/site-packages/coverage/cmdline.py", line 582, in command_line
2020-07-10T12:05:41.7226166Z     return self.do_run(options, args)
2020-07-10T12:05:41.7226558Z   File "/home/runner/work/pytest/pytest/.tox/pypy3-coverage/site-packages/coverage/cmdline.py", line 747, in do_run
2020-07-10T12:05:41.7226706Z     self.coverage.save()
2020-07-10T12:05:41.7227090Z   File "/home/runner/work/pytest/pytest/.tox/pypy3-coverage/site-packages/coverage/control.py", line 651, in save
2020-07-10T12:05:41.7227236Z     data = self.get_data()
2020-07-10T12:05:41.7227754Z   File "/home/runner/work/pytest/pytest/.tox/pypy3-coverage/site-packages/coverage/control.py", line 705, in get_data
2020-07-10T12:05:41.7228150Z     if self._collector and self._collector.flush_data():
2020-07-10T12:05:41.7228735Z   File "/home/runner/work/pytest/pytest/.tox/pypy3-coverage/site-packages/coverage/collector.py", line 423, in flush_data
2020-07-10T12:05:41.7229015Z     self.covdata.add_arcs(self.mapped_file_dict(self.data))
2020-07-10T12:05:41.7229490Z   File "/home/runner/work/pytest/pytest/.tox/pypy3-coverage/site-packages/coverage/sqldata.py", line 480, in add_arcs
2020-07-10T12:05:41.7229648Z     data,
2020-07-10T12:05:41.7230071Z   File "/home/runner/work/pytest/pytest/.tox/pypy3-coverage/site-packages/coverage/sqldata.py", line 1089, in executemany
2020-07-10T12:05:41.7230235Z     return self.con.executemany(sql, data)
2020-07-10T12:05:41.7230420Z   File "/opt/hostedtoolcache/PyPy/3.6.9/x64/lib_pypy/_sqlite3.py", line 423, in executemany
2020-07-10T12:05:41.7230559Z     return cur.executemany(*args)
2020-07-10T12:05:41.7230736Z   File "/opt/hostedtoolcache/PyPy/3.6.9/x64/lib_pypy/_sqlite3.py", line 773, in wrapper
2020-07-10T12:05:41.7230896Z     return func(self, *args, **kwargs)
2020-07-10T12:05:41.7231075Z   File "/opt/hostedtoolcache/PyPy/3.6.9/x64/lib_pypy/_sqlite3.py", line 938, in executemany
2020-07-10T12:05:41.7231231Z     return self.__execute(True, sql, many_params)
2020-07-10T12:05:41.7231417Z   File "/opt/hostedtoolcache/PyPy/3.6.9/x64/lib_pypy/_sqlite3.py", line 889, in __execute
2020-07-10T12:05:41.7231695Z     self.__statement._set_params(params)
2020-07-10T12:05:41.7231873Z   File "/opt/hostedtoolcache/PyPy/3.6.9/x64/lib_pypy/_sqlite3.py", line 1180, in _set_params
2020-07-10T12:05:41.7232140Z     "probably unsupported type." % i)
2020-07-10T12:05:41.7232499Z _sqlite3.InterfaceError: Error binding parameter 0 - probably unsupported type.
2020-07-10T12:05:41.7345535Z ERROR: InvocationError for command /home/runner/work/pytest/pytest/.tox/pypy3-coverage/bin/coverage run -m pytest (exited with code 1)
2020-07-10T12:05:41.7345922Z pypy3-coverage run-test: commands[1] | coverage combine
2020-07-10T12:05:45.0303244Z pypy3-coverage run-test: commands[2] | coverage report -m
2020-07-10T12:05:57.9769748Z Name                                Stmts   Miss Branch BrPart     Cover   Missing
2020-07-10T12:05:57.9771268Z ----------------------------------------------------------------------------------
…
2020-07-10T12:05:57.9822381Z ----------------------------------------------------------------------------------
2020-07-10T12:05:57.9822586Z TOTAL                               11444   5065   4270    685    49.94%

(full: https://github.com/blueyed/pytest/runs/857827442)

Answer by Maxwell Woodward

You can simply convert the offending dict values into mere strings prior to load the data into to database:,

How to clean the bathtub after cleaning brass instruments

,

What is it called when a static image is used to texture a moving object?

,The problem is that the dataframe has object columns containing dict objects, which cannot be loaded directly into SQLite.

You can simply convert the offending dict values into mere strings prior to load the data into to database:

for i in ['country', 'indicator']:
    dfItem[i] = dfItem[i].apply(json.dumps)

Answer by Edith Newman

I’ve searched high and low via google for a reason why my INSERT call is not working. Best I can tell my syntax is correct. The full error I receive is:,Traceback (most recent call last): File «freqbottest.py», line 34, in <module> cur.execute(«insert into gameswapfreq values(?,?,?,?)», (initsubmission.auth or, initsubmission.created_utc, initsubmission.url, initsubmission.title)) sqlite3.InterfaceError: Error binding parameter 0 — probably unsupported type.,and this is what I got before it crashed in the expected fashion:,It did not occur to me this was the issue until it accepted complete literals.

code:

import datetime
import praw
import time
import sqlite3 as lite
import sys

TARGETSUB = 'gameswap'


r = praw.Reddit('monitor author post frequency     /u/bsturtle')
r.login()


#create and fill sqlite db with submissions less than X number of days old. include author, time, url, submission title.
#exclude submissions made by moderators

con = lite.connect('gameswapfreq.db')

with con:
cur = con.cursor()
cur.execute("Drop TABLE IF EXISTS gameswapfreq")
cur.execute("Create table gameswapfreq (author text, createdtime real, url text, title text)")

initsubreddit = r.get_subreddit(TARGETSUB)

for initsubmission in initsubreddit.get_new(limit=10):
	#if post is greater than X days, skip. can we break here? YES WE CAN, JUST NEED TO ADD TEST
		if initsubmission.author not in initsubreddit.get_moderators():	
			initAuthor = initsubmission.author
			initCreatedUTC = initsubmission.created_utc
			initURL = initsubmission.url
			initTitle = initsubmission.title
			print initAuthor				
			cur.execute("insert into gameswapfreq values(?,?,?,?)", (initsubmission.author, initsubmission.created_utc, initsubmission.url, initsubmission.title))

Answer by Owen Nava

23374/getting-sqlite3-interfaceerror-parameter-probably-unsupported,I am using python 2.7 with pyqt4.10 and sqlite3 Db, trying to get the user input from QlineEdit to insert into sqlite3 table that is already created,As you see i used input_user = self.lineEdit.text() to get the user input from the QlineEdit, Getting this error Error sqlite3 InterfaceError …

The error is :

Traceback (most recent call last):
  File "C:pythontownoftechwarehouseadd_category.py", line 63, in proc
    c.execute("INSERT INTO categories (category_name) VALUES (?)", (input_user, ))
sqlite3.InterfaceError: Error binding parameter 0 - probably unsupported type.

Answer by Vivienne Gonzales

Our community of experts have been thoroughly vetted for their expertise and industry experience.,”The time we save is the biggest benefit of E-E to our team. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange.,The Distinguished Expert awards are presented to the top veteran and rookie experts to earn the most points in the top 50 topics.

import sqlite3
import os
import sys


#=============Create DataBase========================

conn = sqlite3.connect("my_db_example.db")
cursor = conn.cursor()

cursor.execute("""CREATE TABLE IF NOT EXISTS my_table (name TEXT,image BLOB)""")

conn.commit()
cursor.close()
conn.close()

#==============get & convert Data ================================================
image_name =[]
conn = sqlite3.connect("my_db_example.db")
cursor = conn.cursor()

arr = os.listdir('Images')
#print(arr)
for item in arr:
    image_name.append(item)
    name = image_name
    if ".jpg" in item:
        with open(item, "rb") as f:
            data = f.read()
            name = image_name
            image = data
            print("{} File Name ".format(name))
            print("{} File RB ".format(image))
            cursor.execute(""" INSERT INTO my_table (name, image) VALUES (?,?)""",(name,image))
            #print("{} Added to database ".format(image_name))

conn.commit()
cursor.close()
conn.close()

xe6x8dKxbdxbb~:xdbxe5:xc5nAxb6ux15`x18x04MFGtxe5x97x90x9cx9ekxe3<rxfax7fxf4pxddxa3x96xe0xf6mJxa7xb8xa6xdfhxe4xbexb3Ax82xecxda.nwxcf-x17xf5x9ax11kdx00xe9txa7Sx9b`xa2Dx14x80x16x02xc0rx8dxdexd2[tx1axb1xb1x03x9fxba x14x1fxc6xdexe8#_Gx04`x7fxffxd9' File Read Binary
['maid5.jpg', 'Unknown.jpg', 'big5.jpg'] File Name 

Answer by Kaylani Parks

api_key = open('quandlapikey.txt', 'r').read()

def data_extract(code):
    data = quandl.get(code, authtoken=api_key, collapse='monthly')
    data['Y/Y, (%)'] = data['Value'].pct_change(12)*100
    return data

m2 = data_extract('FRED/M2')
m1 = data_extract('FRED/M1')
mb = data_extract('FRED/BOGMBASEW')

conn = sqlite3.connect('Database.db')
c = conn.cursor()

def create_table():
    c.execute("CREATE TABLE IF NOT EXISTS USMoneySupply(MonetaryBase REAL, MonetaryBasePer REAL, M1 REAL, M1Per REAL, M2 REAL, M2Per REAL)")

def data_entry():
    mb_data = mb['Value']
    mb_per = mb['Y/Y, (%)']
    m1_data = m1['Value']
    m1_per = m1['Y/Y, (%)']
    m2_data = m2['Value']
    m2_per = m2['Y/Y, (%)']
    c.execute("INSERT INTO USMoneySupply (MonetaryBase, MonetaryBasePER, M1, M1Per, M2, M2Per) VALUES (?, ?, ?, ?, ?, ?)",
              (mb_data, mb_per, m1_data, m1_per, m2_data, m2_per))
    conn.commit()

create_table()
data_entry()
c.close()
conn.close()

Answer by Aislinn Stein

The text was updated successfully, but these errors were encountered:
,Thanks for reporting back and closing the issue @liamklaus ?,By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.,
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

from typing import List

from fastapi import Depends, FastAPI, HTTPException
from sqlalchemy.orm import Session

from . import crud, models, schemas
from .database import SessionLocal, engine

models.Base.metadata.create_all(bind=engine)

app = FastAPI(debug=True)


#Dependency 
def get_db():
    db = SessionLocal()
    try:
        yield db
    finally:
        db.close()


@app.post("/exercises/", response_model=schemas.Exercise)
def create_exercise(exercise: schemas.ExerciseCreate, db: Session = Depends(get_db)):
    """
    Create a exercise instance and store it in to the database.
    """
    return crud.create_exercise(db=db, exercise=exercise)


@app.get("/exercises/", response_model=List[schemas.Exercise])
def read_exercises(skip: int = 0, limit: int = 100, db: Session = Depends(get_db)):
    """
    Retrieve max 100 exercises objects from the database.
    """
    exercises = crud.get_exercises(db, skip=skip, limit=limit)
    return exercises


@app.get("/exercises/{exercise_id}", response_model=schemas.Exercise)
def read_exercise(exercise_id: int, db: Session = Depends(get_db)):
    """
    Retrieve a specific exercise from the database.
    """
    exercise = crud.get_exercise_by_id(db, exercise_id=exercise_id)
    if exercise is None:
        raise HTTPException(status_code=404, detail="Exercise not found")
    return exercise

Answer by Royal Clayton

I keep getting Error Binding Parameter 0: probably unsupported type in sqlite3 and not sure how to fix it.,1 Keeps getting “error binding parameter 0 — probably unsupported type”,0 Error binding parameter 0 — probably unsupported type,18 sqlite3.InterfaceError: Error binding parameter 1 — probably unsupported type

Here is my code:

 cursor.execute('''INSERT INTO Members (firstName,lastName,phone,email,DOB,password,avatar) 
            VALUES (?, ?, ?, ?, ?, ?, ?)''',
                           (firstName, lastName, phone, DOB, email, password, sqlite3.Binary(avatar)))

            conn.commit()

Понравилась статья? Поделить с друзьями:
  • Sqlite3 exec failed disk i o error
  • Sqlite3 exec failed database disk image is malformed db ошибка 1с
  • Sqlite3 error codes
  • Sqlite3 error code
  • Sql syntax error near declare