我使用了一个名为“ CMS”的“类”。另外,我定义了一个方法def ConnectDB(),在其中加载驱动程序并创建了一个游标对象以执行查询。每当我尝试访问游标对象时,都会给我一个属性错误。
obj.cursor.execute(sql,v)
AttributeError: CMS instance has no attribute 'cursor'
如何解决?请参考下面的代码以清楚地理解问题说明。
class CMS:
def ConnectDB(self):
server = '192.121.063.012'
database = 'fghr_db'
username = 'abcdef'
password = 'zzzzzzz'
connStr = 'DRIVER=/opt/microsoft/msodbcsql17/lib64/libmsodbcsql- 17.2.so.0.1;SERVER='+server+';DATABASE='+database+';'+ 'UID='+username+'; PWD='+ password+';Port=1270'
cnxn = pyodbc.connect(connStr)
cursor = cnxn.cursor()
def ReadCsv(self,filepath):
data = csv.reader(open(filepath))
print data
h=data.next()
result=[]
for x in data:
c=list(x)
result.append(c)
return result
obj=CMS()
obj.ConnectDB()
sql="INSERT INTO StudentCsv VALUES (?,?,?,?,?)"
z=obj.ReadCsv("Student.csv")
for v in z:
print v
obj.cursor.execute(sql,v)
obj.cnxn.commit()
出现以下错误:
obj.cursor.execute(sql,v)AttributeError:CMS实例没有 属性“光标”