pypyodbc: выпуск
Я пытаюсь извлечь данные из базы данных SQL Server с помощью pypyodbc. Но кажется, что мой код ломается, когда я пытаюсь построить оператор SELECT, используя
myCursor.execute(SQLCommand,values)
Может кто-нибудь определить проблему и указать мне в правильном направлении?
import pypyodbc
try:
myConnection = pypyodbc.connect('Driver={SQL Server};'
'Server=THINKPAD\STEVE_DEVELOPER;'
'Database=PythonTest;'
'uid=sa; pwd=passwordCC')
myCursor = myConnection.cursor()
print("Connection Made")
SQLCommand =("SELECT First_Name, Date FROM [PythonTest].[dbo].[Names] WHERE First_Name =?")
values = ['Mike']
print("SQL command elements Created")
#After this is where it falls over
myCursor.execute(SQLCommand,values)
print("SQL statement constructed ")
results = myCursor.fetchone()
print(results[0])
print("Sucessfully retreive record")
myconnection.close()
except:
print('Record NOT sucessfully retreived')
Ура Стив
1 ответ
Решение
В Python исключения - ваш друг. Трассировка указывает, где что-то пошло не так, а исключение обычно (надеюсь) говорит о том, что пошло не так.
Подавление всех исключений с помощью except:
(почти) всегда плохая идея - если вы поймаете исключение, вы должны знать, что вы ожидаете поймать и как с ним бороться; если вы этого не сделаете, вы, как правило, хотите, чтобы он перешел к следующему обработчику, который либо обработает его, либо покажет трассировку (или оба).