Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Cum sterg mails din Promotions

Vanzare cumparare fara transfer b...

Receptie ciudata, in functie de t...

Dupa 20 ani de facultate, am uita...
 Mobile.de ofera imprumut de bani ...

problema test grila

Digi24 a disparut de pe TV Lg

Drept de proprietate intelectuala...
 Jante noi shitbox

Trinitas TV 4K

Dacia 1316 cu 6 usi ...

Frecventa modificata radio
 Un nou pericol pt batrani

Ar trebui sa vindem imobiliarele ...

Dupa renuntarea la aparat dentar

pelerinaj in Balcik
 

Incepator Python

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

#1
vdivs92

vdivs92

    Junior Member

  • Grup: Junior Members
  • Posts: 90
  • Î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,579
  • Î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: 90
  • Î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: 90
  • Î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,239
  • Î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: 90
  • Î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

Chirurgia spinală minim invazivă Chirurgia spinală minim invazivă

Chirurgia spinală minim invazivă oferă pacienților oportunitatea unui tratament eficient, permițându-le o recuperare ultra rapidă și nu în ultimul rând minimizând leziunile induse chirurgical.

Echipa noastră utilizează un spectru larg de tehnici minim invazive, din care enumerăm câteva: endoscopia cu variantele ei (transnazală, transtoracică, transmusculară, etc), microscopul operator, abordurile trans tubulare și nu în ultimul rând infiltrațiile la toate nivelurile coloanei vertebrale.

www.neurohope.ro

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