Git Product home page Git Product logo

python-poo's People

Contributors

jrbsolucoes avatar marcoscastro avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

python-poo's Issues

SQLite3RemoveBuscaPorEmail_Gabriel_Gazziro

################# database.py #################

import sqlite3

from attr import Attribute

class BancoDeDados:
"""
Classe que representa o Database
"""
def init(self, nome='banco.db'):

    self.nome, self.conexao = nome, None

def conecta(self):
    """
    Conecta passando o nome do arquivo
    """
    self.conexao = sqlite3.connect(self.nome)

def desconecta(self):
    """
    desconecta do banco
    """
    try:
        self.conexao.close()
    except AttributeError:
        pass 

def criar_tabelas(self):
    """
    Criar as tabelas do banco
    """
    try:
        cursor = self.conexao.cursor()       
        cursor.execute("CREATE TABLE IF NOT EXISTS clientes (id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, nome TEXT NOT NULL, cpf VARCHAR(11) UNIQUE NOT NULL, email TEXT NOT NULL);")

    except AttributeError:
            print("Faca a conexao com o banco antes de criar as tabelas")

def inserir_cliente(self, nome, cpf, email):
    """
    Insere cliente no banco
    """
    try:
        try:

            cursor = self.conexao.cursor()
            cursor.execute("INSERT INTO clientes(nome, cpf, email) VALUES(?,?,?)", (nome, cpf, email))
        except sqlite3.IntegrityError:
            print("CPF %s já existe" %cpf)
        self.conexao.commit()

    except AttributeError:
        print("Faca a conexao com o banco antes de inserir clientes")

def buscar_cliente(self, cpf):
    """
    Busca um cliente pelo cpf
    """
    try:
        cursor = self.conexao.cursor()
        cursor.execute("SELECT * FROM clientes;")
        for linha in cursor.fetchall():
            if linha[2] == cpf:
                print("Cliente %s encontrado"  %linha[1])
                break
    
    except AttributeError:
        print("Faça a conexao com o banco antes de buscar")

def remover_cliente(self,cpf):
    """
    Remover um cliente pelo cpf
    """
    try:
        cursor = self.conexao.cursor()
        cursor.execute("SELECT * FROM clientes;")
        for linha in cursor.fetchall():
            if linha[2] == cpf:
                print("Cliente %s deletado"  %linha[1])
                cliente = linha[2]
                cursor.execute("DELETE FROM clientes WHERE cpf = "+cliente+";")
                break
        
    except AttributeError:
        print("Faça a conexao com o banco antes de fazer a remocao")

def buscar_cliente_email(self, email):
    """
    Busca um cliente por cpf
    """
    try:
        cursor = self.conexao.cursor()
        cursor.execute("SELECT * FROM clientes;")
        for linha in cursor.fetchall():
            if linha[3] == email:
                print(True)
                break
        else:
            print(False)
                
    except AttributeError:
        print("Faça a conexao para realizar a busca!")

################# main.py #################

from database import BancoDeDados

if name == "main":

banco = BancoDeDados()
banco.conecta()
banco.criar_tabelas()

banco.inserir_cliente('Gabriel', '11111111111', '@gmail.com')
banco.inserir_cliente('Gigio', '22222222222', '@hotmail.com')
banco.inserir_cliente('Otavio', '33333333333', '@yahoo.com')

banco.remover_cliente("213475875239")

banco.buscar_cliente("22222222222")
banco.buscar_cliente("11111111111")
banco.buscar_cliente("33333333333")


banco.buscar_cliente_email("@hotmail.com")
banco.desconecta()

SQLite3RemoveBuscaPorEmail_Fabio_Pancotti

import sqlite3

class BancoDeDados:
'''Classe que representa o bando de dados (database) da aplicação'''

def __init__(self, nome='banco.db'):
    self.nome, self.conexao = nome, None

def conecta(self):
    '''Conecta passando o nome do arquivo'''
    self.conexao = sqlite3.connect(self.nome)

def desconecta(self):
    '''Desconecta do banco'''
    try:
        self.conexao.close()
    except AttributeError:
        pass

def criar_tabelas(self):
    '''Cria as tabelas do banco'''
    try:
        cursor = self.conexao.cursor()            #permite navegar e manipular os registros do banco de dados

        cursor.execute('''
        CREATE TABLE IF NOT EXISTS clientes(
                id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
                nome TEXT NOT NULL,
                cpf VARCHAR(11) UNIQUE NOT NULL, 
                email TEXT NOT NULL
                );
                ''')
    except AttributeError:
        print('Faça a conexeção do banco de dados antes de critar as tabelas')

def inserir_cliente(self, nome, cpf, email):
    '''Insere cliente no banco'''
    try:
        cursor = self.conexao.cursor()

        try:
            cursor.execute('''INSERT INTO clientes (nome, cpf, email) VALUES(?, ?, ?)
            ''', (nome, cpf, email))
        except sqlite3.IntegrityError:
            print(f'O CPF {cpf} já existe')

        self.conexao.commit()       #commit -> comando que salva as informações na tabela do BD

    except AttributeError:
        print('Faça a conexeção do banco antes de inserir')

def buscar_cliente(self, cpf):
    '''Busca um cliente pelo CPF'''
    try:
        cursor = self.conexao.cursor()

        #obtém todos os dados
        cursor.execute('''SELECT * FROM clientes;''')

        for linha in cursor.fetchall():         #fetchall -> retorna o resultado do select (uma lista). Na linha[0]
            if linha[2] == cpf:                 #vai estar o id, linha[1] o nome do cliente.
                print(f'Cliente {linha[1]} foi encontrado em nosso Banco de Dados!')
                break
    except AttributeError:
        print('Faça a conexeção do banco antes de buscar o cliente')

def remover_cliente(self, cpf):
    '''remove cliente pelo CPF'''
    try:
        cursor = self.conexao.cursor()
        cursor.execute('''SELECT * FROM clientes;''')
        for linha in cursor.fetchall():
            if linha[2] == cpf:
                cursor.execute('''DELETE FROM clientes where (cpf)''')
                print('Clinte removido com sucesso!!')
            else:
                print('cliente não encontrado')
        self.conexao.commit()

    except AttributeError:
        print('Faça a conexeção do banco antes de buscar o cliente')

def buscar_email(self, email):
    '''Buscar cliente pelo e-mail'''

    try:
        cursor = self.conexao.cursor()
        # Obtém todos os dados.
        cursor.execute("""SELECT * FROM clientes;""")
        for linha in cursor.fetchall():
            if linha[3] == email:
                return True
        return False
    except AttributeError:
        print('Faça a conexão do banco antes de buscar clientes.')

SQLite3RemoveBuscaPorEmail_JoseRicardoFerreiraCardoso

import sqlite3

class BancoDeDados:
"""
Classe que representa o banco de dados (database) da aplicaçao
"""

def __init__(self, nome = 'banco.db'):
    self.nome, self.conexao = nome, None

def conecta(self):
    #conecta passando o nome do arquivo
    self.conexao = sqlite3.connect(self.nome)

def desconecta(self):
    #Desconecata do banco
    try:
        self.conexao.close()
    except AttributeError:
        pass

def criarTabelas(self):
    #Cria as tabelas do banco
    try:
        cursor = self.conexao.cursor()

        cursor.execute("""
            CREATE TABLE IF NOT EXISTS clientes(
                id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
                nome TEXT NOT NULL,
                cpf VARCHAR(11) UNIQUE NOT NULL,
                email TEXT NOT NULL
            );
        """)
    except AttributeError:
        print('Faça a conexão do banco antes de criar as tabelas.')

def inserirCliente(self, nome, cpf, email):
    #Insere cliente no banco
    try:
        cursor = self.conexao.cursor()
        try:
            cursor.execute("""
                INSERT INTO clientes(nome, cpf, email)
                    VALUES(?,?, ?)
            """, (nome, cpf, email))
        except sqlite3.IntegrityError:
            print('O cpf %s já existe' % cpf)                

        self.conexao.commit()
    except AttributeError:
        print('Faça a conexão do banco antes de inserir clientes')

def buscarCliente(self, cpf):
    #Busca um cliente pelo cpf
    try:
        cursor = self.conexao.cursor()

        #obtém todos os dados
        cursor.execute("""
            SELECT * FROM clientes;
        """)

        for linha in cursor.fetchall():
            if linha[2] == cpf:
                print('Cliente %s encontrado.' % linha[1])
                break
    except AttributeError:
        print('Faça a conexão do banco antes de buscar clientes.')

def removerCliente(self, cpf):
    #Remove Cliente pelo cpf
    try:
        cursor = self.conexao.cursor()

        cursor.execute("""DELETE FROM clientes WHERE cpf = ?""", [cpf])

        self.conexao.commit()

        print("Cliente com cpf %s foi removido com sucesso" % cpf)
    except AttributeError:
        print('Faça a conexão do banco antes de inserir clientes')

def buscarPorEmail(self, email):
    #Buscar pessoa por Email
    try:
        cursor = self.conexao.cursor()

        cursor.execute("""
            SELECT * FROM clientes WHERE email = ?
        """, [email])

        for linha in cursor.fetchall():
            id = linha[0]
            nome = linha[1]
            cpf = linha[2]
            email = linha[3]
            
            print("{0}\n{1}\n{2}\n{3} \n".format(id, nome, cpf, email))
    except AttributeError:
        print("Faça a conexão do banco antes de inserir clientes")

from database import BancoDeDados

if name == "main":
banco = BancoDeDados()
banco.conecta()
banco.criarTabelas()

banco.inserirCliente('José', '1342412411', '[email protected]')
banco.inserirCliente('Joyce', '43646456546', '[email protected]')
banco.inserirCliente('Teste', '1234', '[email protected]')

banco.buscarCliente('43646456546')

banco.removerCliente('1234')

banco.buscarPorEmail('[email protected]')

banco.desconecta()

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.