Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Problema cuptor electric cu disju...

Merita achizitionat DFSK Fengon 5...

Pret actual invelitoare

Probleme baterie Samsung A54
 Schema statie auto Renegade REN 1...

Magazine IT de incredere

Parere SKODA Octavia 3 2.0TDI 150CP

Achizitie telefon 1000-1200lei
 Unde gasesc o lampa buna pe gaz?

Consulta specialiștii... Und...

Fostul director al Frontex: Comis...

Construire anexa lipita de casa
 Ce folositi pentru urina mirosito...

Socializare in prezenta copiilor

Cont Samsung A32

Hotarare definitiva a instantei, ...
 

Incepator Python

- - - - -
  • Please log in to reply
6 replies to this topic

#1
vdivs92

vdivs92

    Junior Member

  • Grup: Junior Members
  • Posts: 83
  • Înscris: 25.07.2015
Salut! M-am apucat de cateva zile sa invat Python si usor usor am ajuns si la Python GUI programming (tkinter). Am creat un mic formular de Log In, dar m-am intampinat cu urmatoarea problema. Am fisierul cu formularul login.py si alt fisier db.py unde am scris functia de mai jos ca sa nu mai fiu nevoit ca la fiecare interogare pe care o fac, sa rescriu din nous, ci doar sa preiau acel cursor.

db.py

def data_qwerry():
try:
db = mysql.connector.connect(
host="localhost",
username="root",
password="",
database="databaseapp"
)
if db.is_connected():
db.commit()
crs = db.cursor()
except error as e:
print("A aparut o eroare de conectare la serverul MySQL.")

Problema este ca nu stiu cum sa il preiau. Am mers pe o idee de a mea dar nu a functionat; in fisierul login.py am importat fisierul cu ce am mai sus:

from db import *
c = data_qwerry(0

Imi da eroarea asta: line 1921, in __call__  return self.func(*args) din fisierul __init__.py
Si eroarea asta: crs = data_querry()  NameError: name 'data_querry' is not defined

Stiu ca nu am procedat corect, dar intreabarea e, cum preiau acel cursor ca sa nu mai scriu de fiecare data ce e in fisierul db.py cand vreau sa fac o interogare?

#2
LuvRaluK

LuvRaluK

    Active Member

  • Grup: Members
  • Posts: 1,549
  • Înscris: 27.09.2006
Al folosit peste tot acelasi nume? Intr-un loc scrii "def data_qwerry()" si in eroare scrie name 'data_querry' is not defined

#3
vdivs92

vdivs92

    Junior Member

  • Grup: Junior Members
  • Posts: 83
  • Înscris: 25.07.2015

View PostLuvRaluK, on 14 iulie 2022 - 22:41, said:

Al folosit peste tot acelasi nume? Intr-un loc scrii "def data_qwerry()" si in eroare scrie name 'data_querry' is not defined
Doamne ce neatent sunt.... Posted Image)
Acum am observat. O sa verific maine ca nu mai am niciun chef acum. De la ora 16 stau cu capul in monitor.
Multumesc mult pentru atentie. Posted Image

Edited by vdivs92, 14 July 2022 - 22:51.


#4
cristirg

cristirg

    Senior Member

  • Grup: Senior Members
  • Posts: 7,711
  • Înscris: 16.11.2012
100 Python Learning & Programming Books Collection

#5
vdivs92

vdivs92

    Junior Member

  • Grup: Junior Members
  • Posts: 83
  • Înscris: 25.07.2015
Revin! Am incercat dar tot nu am gasit iar pe net nici atat; sau nu caut eu ceea ce trebuie...

View Postvdivs92, on 15 iulie 2022 - 18:27, said:

Revin! Am incercat dar tot nu am gasit iar pe net nici atat; sau nu caut eu ceea ce trebuie...

am facut asa:
c = data_qwerry

acum primesc eroarea:

c.execute(sql)
AttributeError: 'function' object has no attribute 'execute'

#6
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,138
  • Înscris: 24.02.2007
Pune tot codul de la functia de interogare (fara username/parola de conectare) si cum o apelezi,

#7
vdivs92

vdivs92

    Junior Member

  • Grup: Junior Members
  • Posts: 83
  • Înscris: 25.07.2015

View Postdani.user, on 16 iulie 2022 - 11:31, said:

Pune tot codul de la functia de interogare (fara username/parola de conectare) si cum o apelezi,


Am rezolvat aseara. Daca eram batut in cap. :))
Primeam doua erori in functie de ce modificam in cod:
una era legata conexiunea la server; nu s-a realizat, asta pentru ca aveam o problema la scrierea sintaxei de interogare,
iar cealalta eroare era legata de preluarea conexiunii din fisierul unde aveam scrisa conectarea la baza de date.
In fisierul de conectarea avea o functie si db = mysql.connector.connect ...... si am dat retun db. in fisierul celalalt, am scris from db import * si dupa am scris:
c = data_qwerry
cursor = c.cursor()

Dupa asta imi dadea eroare de conectare la baza de date, dar rescriu, scrisesem gresit sintaxa, dar am despistat-o.

In concluzie:
Greseala o faceam in felul urmator:
c = data_qwerry.cursor()

E bine ca am gasit problema. Multumesc pentru implicare. Posted Image

Anunturi

Bun venit pe Forumul Softpedia!

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate