想要制作一个小型python模块,可以从数据库中获取数据。我已经下载了pydbc,它像这样工作得很好:
import pyodbc
cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=MyDatabase;DATABASE=TestDB;UID='';PWD=''')
cursor = cnxn.cursor()
cursor.execute("select MeasurementValue from TAG_DATA where ItemID=10")
row = cursor.fetchone()
现在我想把它放在一个模块中,这样我就可以导入它,而不需要每次都写代码或定位文件。所以我试着创建这样的
import pyodbc
def testDB():
cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=MyDatabase;DATABASE=TestDB;UID='';PWD=''')
cursor = cnxn.cursor()
cursor.execute("select MeasurementValue from TAG_DATA where ItemID=10")
row = cursor.fetchone()
return row
我把它保存在:文件"C:\Python27\lib\site packages\testDB.py"中,并试图导入它,但我得到了这个错误:SyntaxError:函数外部的"return">
我对python很陌生,有什么想法吗?我可以把它作为一个模块,每次运行代码时都可以使用import?
正如其中一条评论所说,您的缩进被搞砸了。空白(缩进)在Python中至关重要。这样试试:
import pyodbc
def testDB():
cnxn = pyodbc.connect("DRIVER={SQL Server};SERVER=MyDatabase;DATABASE=TestDB;UID='';PWD=''")
cursor = cnxn.cursor()
cursor.execute("select MeasurementValue from TAG_DATA where ItemID=10")
row = cursor.fetchone()
return row
此外,您必须对连接字符串使用双引号,因为您在字符串本身中使用单引号。为了反映这一点,我在上面更改了它们。
祝你好运,Mike