Hi Sirius. Wie würdest du dies mit connection und cursor lösen? stehe gerade auf dem schlauch. connection und cursor werden durch opendb jedes mal neu erzeugt. und close db bestätigt änderungen mit .commit .
@dannyboy385: `database` ist eine Klasse und wird deshalb `Database` geschrieben. Eine Klasse sollte immer ein __init__ haben, wo alle Attribute angelegt werden und wo danach die Instanz benutzbar ist. Cursor sind eigentlich etwas kurzzeitiges, was man für jede Transaktion neu erstellt. Transaktion...
Das wäre nun der erste Versuch etwas sichtbar zu machen. Doch merke ich jetzt schon dass das ganze extrem aus dem Ruder läuft. Ich denke darüber nach eventuell eine classe zu erstellen mit methoden für die GUI welche die methoden der SQLDatenbankverwaltung nutzt aufwelche ich dann aus einer main.py ...
Ich hätte hier ienmal das ganze in eine Klasse verpackt. Ich wäre froh wenn ihr mir eure Meinung sagen würdet. Ich habe bis jetzt ausführlich getestet und konnte keine Funktionsfehler festellen. Kann natürlich sein das ich etwas übersehen habe. Auf jeden Fall ist es so möglich gleichzeitig mit 2 Dat...
Das es nicht OO ist, ist doch deine Entscheidung. Das lässt sich doch alles problemlos in eine Klasse packen. Bei der OOP steh ich mit dem Kopf vor der Wand. Ich habe schon einige tutorials gelesen und Verstehe es einfach nicht. Ich weiss nicht woran es liegt aber ich bekomme es einfach nicht auf d...
@dannyboy385: Du benutzt in allen Deinen „Funktionen“ globale Variablen, nicht nur in »open«. In editdb benutzt Du 0 als Platzhalter für „keinen Wert“. Dafür gibt es aber schon None. Ok das habe ich im Code einmal geändert. Nur ist die verwendung von globalen Variablen doch eher unschön. Wie könnte...
natürlich funktionieren meine ersten Versuche der Gui bereits nicht....ich möchte einen Button Save welcher aber nur erscheint wenn einen Datenabnak geöffnet ist und folglichermassen Open in position und größe ersetzt... allein das funktioniert schon nicht. . . if "connection" not in dir(s...
Hallo Leute nach einigen Kampf bin ich nun soweit das ich Einträge editieren kann welche ich per Artikelnummer identifiziere, Einträge Erstelle und Lösche, Die Datenbank nach einem Suchbegriff Durchsuche eine Neue Datenbank anlege aber vorher prüfe ob sie bereits besteht. Jetzt würde ich euch bitten...
Hallo Leute. Also nachdem ich jetzt etliche Beiträge gelesen habe zur thematik Durchsuchen von Datenbanken und Editieren von Datenbanken steh ich gewaltig auf dem Schlauch. Die SQL Syntax so einfach sie auch aussieht treibt mich in den wahnsinn. Unten Aktueller(schon etwas zerpflückter Code). Zur Pr...
def new (datensatz): cursor.execute('INSERT INTO materialliste VALUES (?,?,?,?,?)', datensatz) connection.commit() def databasesearch(suchbegriff): results=[] for x in cursor.execute("SELECT * FROM materialliste"): if suchbegriff in x: results.append(x) return results def listsearch(liste...
Edit: jetzt funktioniert das hinzufügen zumindest einmal def new (datensatz): #Funktioniert. Übergabewert muss ein tupel oder eine Liste sein if type(datensatz) == 'list': datensatz = tuple(datensatz) cursor.execute('INSERT INTO materialliste VALUES (?,?,?,?,?)', datensatz) connection.commit()
Nabend Sirius. Also auf dein anraten habe ich es einmal mit SQLite versucht. leider scheitere ich schon bei den ersten zweilen import sqlite3 connection = sqlite3.connect("Katalog.db") cursor= connection.cursor() sql_command = """ CREATE TABLE materialliste ( Artikelnummer I...
@dannyboy385: eine Liste ist der falsche Datentyp für einen Eintrag, nimm Namedtuple, Wörterbücher oder ähnliches. Wenn artikelnummer, preisEK oder preisVK Zahlen sind, dann speicherst Du sie intern auch als Zahlen. Übrigens, preisVK = preisEK * (1 + gewinn) * mwst oder preisVK = preisEK * (1 + gew...
Hallo Leute. Das verständniss Problem ist in den hintergrund gerückt sirius3. es gingm mir um die Bedeutunge dieses Kontrukts "delimiter='', quotechar='"', quoting=csv.QUOTE_ALL". Was bedeutet delimiter, quotechar und QUOTE_ALL? Meine aktuelle Fassung sieht folgendermasen aus: def new...
Hi Sirius3. Ich möchte mich schon einmal für das durchhaltevermögen von dir und den anderen bedanken. CSV writer habe ich nun so verwendet >>> f=open("data.csv", "wb") >>> writer = csv.writer(f) >>> for row in liste: writer.writerow(row) >>> f.close() Das funktioniert soweit auch...
@dannyboy385: csv-Dateien kann man noch besser anderweitig editieren und sind nicht so aufwändig wie XLS. Das Herumreichen von Parametern ist ganz normal. Du solltest aber nicht den Dateinamen rumreichen, sondern alles einlesen und nur die Liste; dann ist das hinzufügen und ändern von Datensätzen a...
Man kann das mit Excel machen. Wenn es aber keinen Grund gibt wie zB das der Abteilungsleiter das nunmal von einem verlangt, dann ist das eine wirklich schlechte Idee. Ja, du wirst etwas lernen muessen, wenn du sqlite oder csv benutzt. Wo ist das Problem? Ich dachte lernen ist Sinn und Zweck der ga...
Habe mich nun einmal mit SQlite befasst. dafür müsste man sich aber erst einmal die SQL Befehle näher ansehen. Ein weiterer Versuch mit Excel scheitert. durch zeilen=[] for row_number in xrange(tabelle.nrows): zeilen.append(tabelle.row_values(row_number)) erhalte ich eine Liste mit Listen in welcher...