Как получить доступ к переменной экземпляра? - PullRequest
1 голос
/ 05 июля 2019

Я использовал «класс» с именем «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 не имеет атрибут «курсор»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...