【问题标题】:pypyodbc : Issuepypyodbc:问题
【发布时间】:2017-03-26 12:00:29
【问题描述】:

我正在尝试使用 pypyodbc 从 SQL Server 数据库中提取数据。 但是当我尝试使用

构造 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')

干杯 史蒂夫

【问题讨论】:

  • 取出try ... except 并向我们展示回溯。
  • OK - varchar 与 = 运算符不兼容。排序替换 = 用“LIKE”。感谢指针重新删除“try / except”以查看回溯。新手学习:)

标签: python-3.x pypyodbc


【解决方案1】:

在 Python 中,异常是你的朋友。回溯告诉你哪里出了问题,异常通常(希望)告诉你哪里出了问题。

使用except: 抑制所有异常(几乎)总是是个坏主意——如果你捕捉到一个异常,你应该知道你期望捕捉到什么以及如何处理它;如果你不这样做,你通常想让它转到下一个处理程序,它将处理它或显示回溯(或两者)。

【讨论】:

  • 谢谢 - 一旦指出这一点就完全合乎逻辑。非常感谢!
猜你喜欢
  • 2019-04-23
  • 1970-01-01
  • 1970-01-01
  • 2016-02-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-23
相关资源
最近更新 更多