Advertisement
estevaorada

Banco.cs

Jun 3rd, 2025
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.67 KB | None | 0 0
  1. using System;
  2. using System.IO;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using System.Data;
  8. using System.Data.SQLite;
  9.  
  10. namespace RestauranteSenac.db
  11. {
  12.     class Banco
  13.     {
  14.         // Objeto de conexão SQL:
  15.         public SQLiteConnection conexao;
  16.  
  17.         // Contrutor de conexão:
  18.         public Banco()
  19.         {
  20.             string caminhoLocalAppData = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
  21.             string caminho = caminhoLocalAppData + "/Restaurante Senac";
  22.             // Apontar onde estará nosso arquivo de banco de dados:
  23.             conexao = new SQLiteConnection("Data Source= " +caminho + "/banco.sqlite3");
  24.            
  25.             // Definir o caminho
  26.            
  27.  
  28.             // Verificar se o arquivo banco.sqlite3 NÃO existe:
  29.             if (!File.Exists(caminho + "/banco.sqlite3"))
  30.             {
  31.                 // Criar a pasta no caminho
  32.                 Directory.CreateDirectory(caminho);
  33.  
  34.                 // Criar o arquivo de banco de dados:
  35.                 SQLiteConnection.CreateFile(caminho + "/banco.sqlite3");
  36.  
  37.                 // COMANDOS SQL PARA CRIAR A ESTRUTURA PADRÃO DO BANCO:
  38.                 // Será executado apenas na primeira vez que o código rodar:
  39.                 // Conectar com o banco:
  40.                 this.Conectar();
  41.                 var cmd = this.conexao.CreateCommand();
  42.                 // Comando SQL:
  43.                 cmd.CommandText = "CREATE TABLE 'Funcionarios' (" +
  44.                  "'id'    INTEGER NOT NULL UNIQUE," +
  45.                 "'Nome'  TEXT NOT NULL," +
  46.                 "'Setor' INTEGER NOT NULL," +
  47.                 "'Email' TEXT NOT NULL UNIQUE," +
  48.                 "'Telefone'  TEXT NOT NULL UNIQUE," +
  49.                 "'Funcao'    TEXT NOT NULL," +
  50.                 "PRIMARY KEY('id' AUTOINCREMENT));";
  51.                 // Executar o comando:
  52.                 cmd.ExecuteNonQuery();
  53.                 // Desconectar:
  54.                 this.Desconectar();
  55.             }
  56.         }
  57.         // Método para conectar:
  58.         public void Conectar()
  59.         {
  60.             // Verificar se a conexão não está aberta:
  61.             if(conexao.State != ConnectionState.Open)
  62.             {
  63.                 // Abrir a conexão:
  64.                 conexao.Open();
  65.             }
  66.         }
  67.  
  68.         // Método para desconectar:
  69.         public void Desconectar()
  70.         {
  71.             // Verificar se a conexão não está fechada:
  72.             if(conexao.State != ConnectionState.Closed)
  73.             {
  74.                 // Fechar a conexão:
  75.                 conexao.Close();
  76.             }
  77.         }
  78.     }
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement