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: (почти) всегда плохая идея - если вы поймаете исключение, вы должны знать, что вы ожидаете поймать и как с ним бороться; если вы этого не сделаете, вы, как правило, хотите, чтобы он перешел к следующему обработчику, который либо обработает его, либо покажет трассировку (или оба).

Другие вопросы по тегам