Sistema de curso de inglês
27/07/2012
0
Gente me ajude a fazer um sistema para uma escola de inglês. Estou me enrolando no seguinte.
Quero que quando a atendente for cadastrar um novo aluno em uma determinada turma, o sistema não deixe
e informe que aquela turma já tem tipo : 50 pessoas.
Aguardo a ajuda
Kleber Silva
Posts
27/07/2012
Joel Rodrigues
27/07/2012
Wesley Yamazack
Se o seu sistema for online, tem alguns BDs que não tem trigger na web.
Eu fazia o seguinte, tem um post que fiz há um tempo atrás onde ensino a executar comandos no banco de dados sem precisar de componentes, coisa boba, veja no link: https://www.devmedia.com.br/acessando-banco-de-dados-sem-componente-delphi/19268
Você pode fazer uma função, igual a que o Joel falou, só que ao invés de uma trigger, use uma função no próprio Delphi pra fazer isso. É um outro caminho também!
um abraço e até mais
28/07/2012
Kleber Silva
Obrigado,
mas vc nao tem nada em codigo so para eu ter uma idéia para iniciar?
28/07/2012
William
SQLQuery.Close; SQLQuery.SQL.Clear; SQLQuery.SQL.Add(SELECT COUNT(*) FROM TURMA WHERE ID_TURMA = 1); SQLQuery.Open; if SQLQuery.Fields[0].AsInteger < 50 then begin //Aqui vc coloca seu código de inserção end else begin ShowMessage(Turma fechada, já possui 50 alunos!); end;
Mas vou salientar existem várias maneiras de se fazer esse verificação, Triggers no banco, evento BeforePost do seu DataSet e etc.
28/07/2012
Rafael Ribeiro
Abraços
Rafael
04/12/2024
Wilfe
Gente me ajude a fazer um sistema para uma escola de inglês. Estou me enrolando no seguinte.
Quero que quando a atendente for cadastrar um novo aluno em uma determinada turma, o sistema não deixe
e informe que aquela turma já tem tipo : 50 pessoas.
Aguardo a ajuda
import sqlite3
# Conexão com o banco de dados
conexao = sqlite3.connect("escola.db")
cursor = conexao.cursor()
# Criação das tabelas
cursor.execute("""
CREATE TABLE IF NOT EXISTS turmas (
id INTEGER PRIMARY KEY AUTOINCREMENT,
nome TEXT NOT NULL,
capacidade INTEGER DEFAULT 50
)
""")
cursor.execute("""
CREATE TABLE IF NOT EXISTS alunos (
id INTEGER PRIMARY KEY AUTOINCREMENT,
nome TEXT NOT NULL,
turma_id INTEGER NOT NULL,
FOREIGN KEY (turma_id) REFERENCES turmas(id)
)
""")
conexao.commit()
# Função para verificar e cadastrar aluno
def cadastrar_aluno(nome_aluno, turma_id):
# Verificar quantos alunos já estão na turma
cursor.execute("SELECT COUNT(*) FROM alunos WHERE turma_id = ?", (turma_id,))
quantidade_alunos = cursor.fetchone()[0]
# Verificar capacidade da turma
cursor.execute("SELECT capacidade FROM turmas WHERE id = ?", (turma_id,))
capacidade = cursor.fetchone()
if capacidade is None:
print("Erro: Turma não encontrada.")
return
capacidade = capacidade[0]
if quantidade_alunos >= capacidade:
print(f"Erro: A turma já atingiu a capacidade máxima de alunos.")
else:
# Cadastrar aluno na turma
cursor.execute("INSERT INTO alunos (nome, turma_id) VALUES (?, ?)", (nome_aluno, turma_id))
conexao.commit()
print(f"Aluno '' cadastrado com sucesso na turma !")
# Exemplo de uso
# Adicione uma turma de exemplo
cursor.execute("INSERT INTO turmas (nome, capacidade) VALUES (?, ?)", ("Inglês Básico", 50))
conexao.commit()
# Tente cadastrar alunos
cadastrar_aluno("João", 1)
cadastrar_aluno("Maria", 1)
# Fechar conexão
conexao.close()
Espero ter ajudado um sistema para uma escola de Inglês. https://officialnow1.com/a-jornada-do-autodidata-em-ingles/.
Clique aqui para fazer login e interagir na Comunidade :)