Приветствую Коллеги.
Помогите разобраться с проблемой.
Подключение к базе успешное. При попытке найти в таблице строку выводит исключение. Хотя в базе данная таблица существует и строка (varсhar).
При запуске скрипта выдает исключение:
raise Exception('ERROR: Action with UUID="D_PERCENT" not found').
Выкладываю часть кода скрипта (python 2.6.6):
from database import DB
from sys import exit
import datetime
db = DB("/etc/b.conf")
db.Connect()
# Ищем акцию по uuid
my_action = db.GetAction(act_uuid='D_PERCENT')
if not my_action:
db.Disconnect()
raise Exception('ERROR: Action with UUID="D_PERCENT" not found')
часть кода скрипта базы (python 2.6.6):
import MySQLdb
from datetime import datetime
......
def GetAction(self, act_id=None, act_name=None, act_uuid=None):
"""Поиск акции по ID, названию или коду - по первому, что не default"""
sql = '''SELECT * FROM actions a WHERE a.`{0}` = %s'''
if act_id:
sql = sql.format('record_id')
param = act_id
elif act_name:
sql = sql.format('name')
param = act_name
elif act_uuid:
sql = sql.format('uuid')
param = act_uuid
else:
raise Exception("DB.GetAction: No parameters defined")
try:
self.cursor.execute(sql, param)
row = self.cursor.fetchone()
if not row:
return None
result = {}
for col in self.cursor.description:
result[col[0].lower()] = row[self.cursor.description.index(col)]
return result
except:
return None