SQL verbindungs Klasse
Verfasst: Freitag 2. März 2007, 12:48
Ich habe eine kleine Klasse gemacht, um mich zu einer beliebigen MySQL Datenbank zu verbinden.
Hier mal der Code:
Nun gefällt mir das ja recht gut, aber nachdem das mein erstes Ding in dieser Art ist,
hätte ich gern ein paar Ratschläge/etwas Input, was man alles besser/schöner/sicherer machen könnte.
Cool wäre zum beispiel wenn das Script bei execute selber erkennen würde,
welchen Fehler es gibt (nicht verbunden oder falsche SQL Syntax). Ich weiß jetzt aber nicht, ob das nicht zu viel Aufwand bedeutet (weil das script ja sowieso eingebunden werden soll...
Hier mal der Code:
Code: Alles auswählen
#!/usr/bin/python
# -*- coding: iso-8859-1 -*-
#########################################################
# SQL-connection and executing class
# polypus - March 2007
#########################################################
import MySQLdb
import sys
#-------------defining class------------------
class SqlAccess:
""" SQL Access class Instance"""
#----Constructor----
def __init__(self, host, user, passwd, db):
self.host = host
self.user = user
self.passwd = passwd
self.db = db
#--------defining common functions--------
#----connecting-----
def db_connect(self):
try:
self.database = MySQLdb.connect(self.host, self.user,
self.passwd, self.db)
except:
print "Error in specified parameters; check your SQL-access-data!"
print "Exiting"
sys.exit()
#--executing query--
def db_execute(self, query):
try:
self.cursor = self.database.cursor()
self.cursor.execute(query)
result = self.cursor.fetchall()
return result
except:
print "Error in Mysql-query: ", query
print "or database not connected!"
#------closing------
def db_close(self):
self.cursor.close()
self.database.close()
hätte ich gern ein paar Ratschläge/etwas Input, was man alles besser/schöner/sicherer machen könnte.

Cool wäre zum beispiel wenn das Script bei execute selber erkennen würde,
welchen Fehler es gibt (nicht verbunden oder falsche SQL Syntax). Ich weiß jetzt aber nicht, ob das nicht zu viel Aufwand bedeutet (weil das script ja sowieso eingebunden werden soll...
