also ich bekomme in der Zeile 18 immer einen Fehler (siehe unten), und ich weiß nicht wieso.
Code: Alles auswählen
try:
from pysqlite2 import dbapi2 as sqlite
except ImportError:
import sqlite3 as sqlite
class nn:
def __init__(self, connection, tneurons = "", tsynapses = ""):
self.tneurons = tneurons
self.tsynapses = tsynapses
self.connection = connection
self.cursor = self.connection.cursor()
def __del__(self):
self.cursor.close()
self.connection.close()
def add_neuron(self, content):
self.cursor.execute('INSERT INTO %s (content) VALUES (?)' % self.tneurons, (content))
self.connection.commit()
return self.cursor.lastrowid
def add_synapse(self, id1, id2):
self.cursor.execute('INSERT INTO %s (id1, id2) VALUES (?, ?)' % self.tsynapses, (id1, id2))
self.connection.commit()
return self.cursor.lastrowid
def create_tables(self, neurons, synapses):
self.tneurons = neurons
self.tsynapses = synapses
self.cursor.execute('CREATE TABLE %s (id INTEGER AUTO_INCREMENT PRIMARY KEY, content VARCHAR(50))'
% self.tneurons)
self.cursor.execute('CREATE TABLE %s (id1 INTEGER, id2 INTEGER)' % self.tsynapses)
self.connection.commit()
def delete_tables(self, neurons, synapses):
self.cursor.execute('DROP TABLE %s' % neurons)
self.cursor.execute('DROP TABLE %s' % synapses)
self.connection.commit()
def delete_neuron(self):
self.cursor.execute('DELETE FROM %s WHERE id = "?"' % self.tneurons, id)
self.connection.commit()
def delete_synapse(self, id1, id2):
self.cursor.execute('DELETE FROM %s WHERE id1 = "?" AND id2 = "?"' % self.tsynapses, (id1, id2))
self.connection.commit()
def get_neighbours(self, neighbours):
#......
nn = nn(sqlite.connect('test.db'))
nn.delete_tables("nn_neurons", "nn_synapses")
nn.create_tables("nn_neurons", "nn_synapses")
id1 = nn.add_neuron("String1")
id2 = nn.add_neuron("String2")
nn.add_synapse(id1, id2)
Interpreter hat geschrieben:Traceback (most recent call last):
File "M:\Privat\Programming\Projects\Python\sqlitetest.py", line 57, in <module>
id1 = nn.add_neuron("string1")
File "M:\Privat\Programming\Projects\Python\sqlitetest.py", line 18, in add_neuron
self.cursor.execute('INSERT INTO %s (content) VALUES (?)' % self.tneurons, (content))
ProgrammingError: Incorrect number of bindings supplied. The current statement uses 1, and there are 7 supplied.