如何访问实例变量?

时间:2019-07-05 12:06:07

标签: python sql sql-server database odbc

我使用了一个名为“ 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实例没有   属性“光标”

0 个答案:

没有答案