Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    111

    problemi con il db e python

    Salve a tutti, ho un problema che non riesco a risolvere... ho un db con delle informazione su degli orari... ora ho uno script (per velocizzare faccio un ciclo ogni 10 secondi) che non riesce a memorizzare nel caso cambi l'orario. Es ho impostato orario ore alle 8 i minuti a 20... faccio partire il programma tutto ok... Funziona ma se dal db cambio da 20 a 25, lo script mi mostra sempre 20 nonostante che faccio una chiamata al db ogni volta... Non so dove sbaglio , qualcuno mi può illuminare???
    posto lo script di prova:
    codice:
    #!/usr/bin/env python
    
    
    import wiringpi as gpio
    from time import sleep
    import datetime
    import MySQLdb
    
    menuo = True
    blocco = True
    
    # Open database connection
    conn = MySQLdb.connect(host="localhost", user="miauser",passwd="miapassword", db="domotica")
    c = conn.cursor()
    #fine controllo setup
    def orario_su():
         for id_tap in range(1,9):
             sql = "SELECT pos_attuale,pos_doveva,tur_notte,pos_program,dimensione FROM tapparelle WHERE id='%s'" % (id_tap)
             c.execute(sql)
             results = c.fetchall()
             for row in results:
                 pos_attuale =     row[0]
                 pos_doveva =      row[1]
                 tur_notte =       row[2]
                 pos_program = row[3]
                 dimensione = row[4]
                 #print dimensione
                 if(dimensione == "grande"):
                    print "La tapparella e' grande" #print di prova
                    
                    
    def menu_orario():
      menuo = True
      t = datetime.datetime.now()
      if (blocco == True): 
            #sistema per orario
            sql = "SELECT h_up,m_up,h_down,m_down,h_down_ultima,m_down_ultima,attivo FROM orario_tap WHERE id=1"
            c.execute(sql)
            results = c.fetchall()
            for row in results:
                h_up = row[0]
                m_up = row[1]
                h_down = row[2]
                m_down = row[3]
                h_down_ultima = row[4]
                m_down_ultima = row[5]
                attivo = row[6]    
                print h_up  #prova di lettura database
                print m_up
                if(attivo == "si"):
                    if((t.hour == h_up) and (t.minute == m_up)):
                        orario_su()
               
            #fine sistema per orario
    
    
    
    
    
    while True:
           if (menuo == True):
                menu_orario()
                sleep(10)

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    111
    Problema risolto:
    ho aggiunto un commit() quando faccio il chiamo alla query e ora funziona perfettamente...
    codice:
    c.execute("SELECT h_up,m_up,h_down,m_down,h_down_ultima,m_down_ultima,attivo FROM orario_tap WHERE id=1")
            # Execute the SQL command
            conn.commit()
            # Fetch all the rows in a list of lists.
            results = c.fetchall()

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.