Search the Community
Showing results for tags 'sqlite'.
-
Olá a todos. Iniciei a minha aprendizagem em .Net 7 Maui, criando uma app para gerir o dia a dia dos meus Pets. A minha questão é a seguinte: se pretender publicar a app e enviá-la a amigos, para seu uso próprio, que passos devo dar? Estou a usar o Visual Studio 2022 17.7.6. Obrigado. Fausto
-
Boas, Novos erros após actualização SQLite. Recentemente fiz um upgrade de uma máquina para windows 10 64 bits, actualizei a dll do sqlite para a versão 1.0.113.0 mas só tem surgido problemas. Para adicionar um novo registo tinha a seguinte rotina: If existe() = False Then strSQL = "INSERT INTO clientes (id,nome,morada1,morada2,codpostal,local,tel,movel,nif,email) " & "VALUES (@id,@nome,@morada1,@morada2,@codpostal,@local,@tel,@movel,@nif,@email)" Else strSQL = "UPDATE clientes set id=@id,nome=@nome,morada1=@morada1,morada2=@morada2,codpostal=@codpostal,local=@local,tel=@tel,movel=@movel,nif=@nif,email=@email WHERE id=@id" End If Dim cmd As New SQLiteCommand(strSQL, connection) connection.Open() With cmd.Parameters .Add("@id", SqlDbType.Int).Value = txt_numcli.Text .Add("@nome", SqlDbType.VarChar).Value = txt_nome.Text .Add("@morada1", SqlDbType.VarChar).Value = txt_morada1.Text .Add("@morada2", SqlDbType.VarChar).Value = txt_morada2.Text .Add("@codpostal", SqlDbType.VarChar).Value = txt_codpos.Text .Add("@local", SqlDbType.VarChar).Value = txt_localidade.Text .Add("@tel", SqlDbType.VarChar).Value = txt_tel.Text .Add("@movel", SqlDbType.VarChar).Value = txt_movel.Text .Add("@nif", SqlDbType.Int).Value = txt_nif.Text .Add("@email", SqlDbType.VarChar).Value = txt_email.Text End With cmd.ExecuteNonQuery() connection.Close() frm_orca_lista.txt_num_cliente.Text = txt_numcli.Text frm_pesqCliente.Close() Me.Close() Como posso resolver? Será que é a versão certa?...? Também para ler, tenho que alterar as rotinas. O que funcionava bem deixou de funcionar.
-
Olá, Criei uma base de dados SQLite, onde consigo fazer o acesso desde que o caminho esteja mapeado! O problema é que será necessário que a base de dados esteja no disco de rede, onde o acesso pode ser efectuado na seguinte forma: Exe: \\101.65.2.10.103\BD_SQLite\BDTeste.db3 ou \\ptagtx\Opt\BD_SQLite\BDTeste.db3 Não consigo fazer o acesso conforme é demonstrado no exemplo acima, para que outros utilizadores possam ter acesso a base de dados. O script está em VB.Net 2019. Não sou um expert no assunto e sim um aprendiz. Agradeço a ajuda,
-
Bom dia, Pessoal estou a precisar de uma grande ajuda e urgentemente. Estou a desenvolver um projeto final para a cadeira de programação de primeiro ano para universidade, e entao proposme a fazer um programa para gerir uma loja, com várias opçoes. Uma dessas opçoes era poder adicionar produtos, o interface está concluido, a base de dados criada e o progrma feito mas nao dá para gravar os dados que o utlizador insere, dentro da base de dados. O programa está aqui neste link para downoload (foi feito em visual studio 2017, com a linguaguem python) : https://www.dropbox.com/s/u09nqnxve0ru2wl/Gestao_de_lojas-Adicionar_Produtos(erro-introduzirprodutos_fianl).zip?dl=0 Agradecia muito a ajuda
- 1 reply
-
- bases de dados
- sqlite
-
(and 4 more)
Tagged with:
-
Olá pessoal, estou iniciando um projeto utilizando ionic framework e estou gostando de trabalhar com ele, precisei usar banco de dados e utilizei o SQLite, mas como sou novo no assunto não conheço nenhum SGBD que eu possa consultar meus registros e tabelas no banco de dados criado no meu aparelho.
-
Boa noite, Gostaria de saber se é possível utilizar o Sqlite no Oracle SQL Developer, queria utilizar o Oracle SQL Developer como "frontend" mas "por trás" ter o Sqlite. Caso afirmativo gostava que me indicassem como o fazer. Queria criar uma Connection e ligar ao Sqlite como se faz quando se configura a base de dados da Oracle mas não consegui encontrar nada que me indicasse como fazê-lo.
-
Boas, não sei se há tópicos que me possam esclarecer esta dúvida e como não vi nenhum tutorial explícito decidi criar este topic a fim de ficar esclarecido. Para um projeto de uma cadeira, estou a tentar criar um sistema de Login / Registo no Android Studio usando SQLite e a única coisa que consigo fazer é criar a base de dados. Segui alguns tutoriais encontrados no Google mas quando criado o código, embora não me dê erros nenhuns, o programa não corre no simulador. Tenho um MainActivity, onde estão os componentes do Login (Utilizador + Password) com o seguinte código: package pt.ulp.se.moviefeed; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends AppCompatActivity { DatabaseHelper myDb; Button btn_pagerego,btn_regfim,btn_login; EditText reg_user, reg_pw1, reg_pw2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); myDb = new DatabaseHelper(this); reg_user = (EditText)findViewById(R.id.reg_user); reg_pw1 = (EditText)findViewById(R.id.reg_pw1); reg_pw2 = (EditText)findViewById(R.id.reg_pw2); Button btn_regfim = (Button)findViewById(R.id.bt3); Registo_Final(); } public void Botao_Registar_Pagina(View v) { btn_pagerego = (Button)findViewById(R.id.bt1); btn_pagerego.setonclickListener(new View.onclickListener() { @Override public void onclick(View v) { Intent intent = new Intent(MainActivity.this,RegistoActivity.class); startActivity(intent); } }); } public void Registo_Final() { btn_regfim.setonclickListener( new View.onclickListener() { @Override public void onclick(View v) { boolean Sucesso = myDb.insertData(reg_user.getText().toString(), reg_pw1.getText().toString()); if (Sucesso = true) Toast.makeText(MainActivity.this, "Registo bem sucedido!",Toast.LENGTH_LONG).show(); else Toast.makeText(MainActivity.this, "Os dados não estão corretos!",Toast.LENGTH_LONG).show(); } } ); } } Tenho um RegistoActivity, onde estão os componentes (Utilizador + Password1 + Password2 ) Tenho um DatabaseHelper.java com o seguinte código: package pt.ulp.se.moviefeed; import android.content.ContentValues; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; /** * Created by rfz on 01/02/2016. */ public class DatabaseHelper extends SQLiteOpenHelper { public static final String DATABASE_NAME = "Cliente_db"; public static final String TABLE_NAME = "Cliente_table"; public static final String COL_1 = "ID"; public static final String COL_2 = "Nome"; public static final String COL_3 = "Password"; public DatabaseHelper(Context context) { super(context, DATABASE_NAME, null, 1); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL("CREATE table " + TABLE_NAME + " (ID INTEGER PRIMARY KEY AUTOINCREMENT, NOME TEXT, PASSWORD TEXT)"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME); onCreate(db); } public boolean insertData(String nome, String password) { SQLiteDatabase db = this.getWritableDatabase(); ContentValues contentValues = new ContentValues(); contentValues.put(COL_2,nome); contentValues.put(COL_3,password); long resultado = db.insert(TABLE_NAME,null,contentValues); if (resultado == -1) return false; else return true; } } Visto que o compilador não encontrou nenhum erro, creio que sejam problemas de semântica no código, gostava de pôr isto a correr o mais depressa possível... Como alteração, decidi apagar o RegistoActivity e colocar os componentes do Registo e os do Login na MainActivity. Não funciona é lá muito bem... Ajudem-me, por favor!!! Obrigado, desde já! Rafael
-
Me ajudem por favor ja pesquisei bastante mais nao consigo resolver criei uma base de dados em SQLite e conectei com vb.net exibindo os dados em um datagridview usei o seguinte código para preencher o datagrid: Private Sub Carregardados() Try 'String de Conexao do Banco de dados sConectionString = "data source=C:\Lumine\Dados\Dados;Vession=3.8.5;New=True;Compress=True;" 'Abrir Conexao Dim oConn As New SQLiteConnection(sConectionString) oConn.Open() 'define o comando SQL para retornar todos os dados da tabela Dim daCadastro As New SQLiteDataAdapter("Select ID,Codigo,Nome,Estoque,TipoEstoque,Preco_Compra,Preco_Venda,Vencimento From Produtos order by ID", oConn) 'define o dataset Dim ds As New DataSet("Northwind") 'define o esquema da tabela daCadastro.FillSchema(ds, SchemaType.Source, "Produtos") 'preenche o dataset daCadastro.Fill(ds, "Produtos") 'exibe os dados no datagridview gdvDados.DataSource = ds.Tables("Produtos") 'fecha a conexao oConn.Close() Catch ex As Exception MsgBox("Erro ao acessar o banco de dados: " & ex.Message) End Try End Sub so que tem um problema agora preciso de pesquisar registros desse datagrid. desde ja agradeço
-
Bem, hoje tava aqui a mexer numa DB Sql lite para uma app android, e vi a opçao AUTO VACUUM, e vi que estava desativada. Eu sei por alto o que o vacuum faz, mas a minha duvida é, devo ativar essa opçao ou deixar desativada? eu sei que isso é uma operaçao que demora algum tempo... que recomendam? Aquilo tem depois as opçoes "full" e "incremental" Nao encontrei nada que respondesse a minha duvida... tambem meti o "lock mode" em exclusive, nao ha problema? ate onde sei, nao permite que mais nenhuma app utilize a db enquanto aqela App estiver aberta, que é o que pretendo...
-
Ola pessoal sou novo aqui no fórum e também novo no Python.... estou com um problema para me conectar com o banco de dados do sqlite3 e o seguinte estou criando um programa e quero que o mesmo tenha uma tela de login e que ela esteja conectada ao banco de dados só que não estou conseguindo fazer pesquisas de usuários sempre da erro... ex: def login(self): nome = self.nome.get() # entry nome senha = self.senha.get() # entry senha banco = self.c.cursor() # cursor for nome and senha in banco: self.janela.destroy() # se o nome e a senha estiver certos a janela login ira ser destruída Programa() # abrira o programa assim que a janela login for destruída estou fazendo assim alguém poderia me dizer por favor como fazer uma pesquisa de nome e senha no banco de dados?
-
Bom dia, Estou a desenvolver uma simples aplicação que interage com uma base de dados SQLite. Contudo, estou com um problema: a base de dados pode ser acedida por vários softwares em simultâneo. Eu tenho um procedimento que tem um try...catch...finally, onde é criada, aberta e fechada a ligação. O meu problema, é que mesmo fechando a ligação, se tentar modificar a base de dados com outro programa com o meu aberto, no outro surge a seguinte mensagem: "Cannot proceed operation because database is busy". A minha dúvida é: utilizo o método close para fechar a conexão, também já experimentei o dispose, mas continuo com o mesmo erro. O que posso fazer para não ser necessário fechar a minha aplicação para as outras acederem sem problemas? Espero ter conseguido explicar-me. Obrigado
-
Boas pessoal, Estou a tentar guardar os dados inseridos da textbox na bd, ando as voltas com isto e não saio da cepa torta, fiz download de varios projectos na internet e andei a tentar perceber como era feito, se for assim funciona bem: private async void btnsave_click(object sender, RoutedEventArgs e) { /*var loginDB = Path.Combine(Windows.Storage.ApplicationData.Current.LocalFolder.Path, "BaseDados.Sqlite"); SQLite.SQLiteAsyncConnection conn = new SQLite.SQLiteAsyncConnection(loginDB); conn.CreateTableAsync<TabelaLogin>(); conn.InsertAsync ( new TabelaLogin() { username = this.txtusername.Text, }); Status.Text = "guardado com sucesso"; */ Mas fiz algo mais elaborado com DataAcess , DataModel e CRUD: DataModel/TabelaLogin.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using SQLite; namespace PG.DataModel { public class TabelaLogin { [PrimaryKey, Unique, AutoIncrement] public int Id { get; set; } public string username { get; set; } public string avatar { get; set; } } } DataAcess IDbConnection.cs using System.Threading.Tasks; using SQLite; namespace PG.DataAcess { public interface IDbConnection { Task InitializeDatabase(); SQLiteAsyncConnection GetAsyncConnection(); } } DbConnection.cs using System.IO; using System.Threading.Tasks; using SQLite; using PG.DataModel; namespace PG.DataAcess { public class DbConnection : IDbConnection { string dbPath; SQLiteAsyncConnection conn; public DbConnection() { dbPath = Path.Combine(Windows.Storage.ApplicationData.Current.LocalFolder.Path, "BaseDados.sqlite"); conn = new SQLiteAsyncConnection(dbPath); } public async Task InitializeDatabase() { await conn.CreateTableAsync<TabelaLogin>(); } public SQLiteAsyncConnection GetAsyncConnection() { return conn; } } } Pasta CRUD: TabelaLoginCRUD.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using PG.DataAcess; using PG.DataModel; using SQLite; using PG.CRUD; namespace PG.CRUD { public class TabelaLoginCRUD : iTabelaLoginCRUD { SQLiteAsyncConnection conn; public TabelaLoginCRUD(IDbConnection oIDbConnection) { conn = oIDbConnection.GetAsyncConnection(); } public async Task InsertLoginAsync(TabelaLogin tabelalogin) { // await conn.InsertAsync(tabelalogin); if (tabelalogin.Id == 0) await conn.InsertAsync(tabelalogin); else await conn.UpdateAsync(tabelalogin); } } } iTabelaLoginCRUD.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using PG.DataModel; namespace PG.CRUD { interface iTabelaLoginCRUD { Task InsertLoginAsync(TabelaLogin tabelalogin); // Task DeleteLoginAsync(TabelaLogin tabelalogin); } } A minha main page: using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Runtime.InteropServices.WindowsRuntime; using Windows.Foundation; using Windows.Foundation.Collections; using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; using Windows.UI.Xaml.Controls.Primitives; using Windows.UI.Xaml.Data; using Windows.UI.Xaml.Input; using Windows.UI.Xaml.Media; using Windows.UI.Xaml.Navigation; using SQLite; using PG.DataModel; using Windows.Storage; using System.Diagnostics; using PG.DataAcess; using PG.CRUD; using System.Threading.Tasks; // The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238 namespace PG { /// <summary> /// An empty page that can be used on its own or navigated to within a Frame. /// </summary> public sealed partial class MainPage : Page { TabelaLoginCRUD oTabelaLoginCRUD; TabelaLogin tabelalogin; public MainPage() { this.InitializeComponent(); } private async Task InitializeDatabase() { DbConnection oDbConnection = new DbConnection(); await oDbConnection.InitializeDatabase(); oTabelaLoginCRUD = new TabelaLoginCRUD(oDbConnection); } private async void btnsave_click(object sender, RoutedEventArgs e) { /*var loginDB = Path.Combine(Windows.Storage.ApplicationData.Current.LocalFolder.Path, "BaseDados.Sqlite"); SQLite.SQLiteAsyncConnection conn = new SQLite.SQLiteAsyncConnection(loginDB); conn.CreateTableAsync<TabelaLogin>(); conn.InsertAsync ( new TabelaLogin() { username = this.txtusername.Text, }); Status.Text = "guardado com sucesso"; */ await oTabelaLoginCRUD.InsertLoginAsync(new TabelaLogin() { username = txtusername.Text }); } } } o erro é no await do botão enviar, falta-me código mas não estou a conseguir perceber o que me falta Download do Projecto: https://dl.dropboxusercontent.com/u/13390982/PG.zip Se puderem ajudar 🙂
-
- sqlite
- bases de dados
-
(and 1 more)
Tagged with:
-
alguem me pode explicar com ligo SQLITE ao C#? mais propriamente a dar o caminho? cumprimentos e obrigado 🙂
- 1 reply
-
- bases de dados
- csharp
-
(and 1 more)
Tagged with:
-
Boas! Eu estou a fazer uma base dados em SQLite e estou com uma duvida relativamente ao código postal. Eu saquei a base dados do código postal daqui http://downloads.elsif.pt/Codigos%20Postais/Modelo%20B/, a relação de freguesia com todos_cp é esta freguesia 1..1 1..* todos_cp certo? Eu tenho uma tabela iMovel onde tenho de saber o seu código postal, localidade e freguesia, eu pensei em apenas guardar o código postal porque através desse chego ao resto,mas pelo que vi na tabela todos_cp a chave primaria supostamente é constituída por os 4 primeiros atributos mas eu só com o código postal consigo à informação que quero. O que me leva a pensar que esta tabela não está normalizada. Resumindo devo pegar na suposta chave primaria, ou o código postal serve?
-
Boa tarde, Estava aqui às voltas como fazer umas tabelas, e após várias cabeçadas, venho aqui pedir ajuda para uma delas. -------------------------------------------------- País - Cidade - Último Ano - Último Mês -------------------------------------------------- Select pais, cidade, data_nascimento From t_birth where data_nascimento = '$ano%' ORDER BY pais, cidade A minha questão é que estou a imprimir em php os dados que saem desta query, e gostava de saber se é possível apresentar os dados do ultimo mês e do ultimo ano na mesma query, sabendo que o campo "data_nascimento" tem os dados na forma de "YYYY-MM-DD"
-
Boa tarde. Tenho que fazer um projeto com interface web para um sistema de facturas. Para isso tenho que criar a base de dados em SQLite. O problema é o seguinte: tenho uma tabela factura, esta tabela entre outros membros terá que ter uma ou mais linhas. A minha ideia inicial era dentro da tabela factura colocar a tabela linhas, porém acho que estou a complicar. Podem-me dar algumas sugestões? Cumprimentos, Ricardo Neves
-
Boas, estou a ter um erro de sintaxe mas penso que está correto (utilizei o SQLite Admin para testar o script SQL e está a dar correctamente ) só ao passar para C# é k dá erro a compilar .. porque dá erro? Erro: System.Data.SQLite.SQLite [Version3] SQLite near "=": syntax error O código que inseri no c# é o seguinte: string conn = @"Data Source=Teste;"; SQLiteConnection coneção = new SQLiteConnection(conn); coneção.Open(); SQLiteCommand cmdModelo = new SQLiteCommand("SELECT * FROM [Vfabricante]f,[Vmodelo]m WHERE m.idFabricante=f.idFabricante AND f.fabricante=" + tbFabricante.Text.ToString(), coneção); SQLiteDataReader drModelo = cmdModelo.ExecuteReader(); Obs: se meter esta verificação compila "SELECT * FROM [Vfabricante]f,[Vmodelo]m WHERE m.idFabricante=f.idFabricante;"
-
Olá Como em SQL posso converter os dados de campo em que data está no formato dd-mm-yyyy para yyyy-mm-dd ?
-
O código que vou apresentar retorna uma pagina com uma tabela de itens. No final de cada linha tem um botão para "actualizar" a base de dados apenas alterando dois valores de 0 para 1. O meu problema é que está tudo a funcionar, excepto, claro, a parte em que divia guardar o id_downloads do item em que eu carro, e está a guardar do ultimo imprimido... Pagina 1 <form action="submeter.php" method="post"> $result = $db->query('SELECT * FROM downloads'); $i = 0; foreach ($result as $row){ //Codigo que não interessa.... echo '<tr class="r' . $i . '">' if($row['updated'] == 1) { echo '<td class="updated"> updated </td>'; } else { echo '<td class="updated"> <input type="hidden" name="varname" value=' . $row['id_downloads'] . '> <input type="submit" value="Download"> </td>'; } echo ' <td> </td> </tr> ' ; $i++; } //Resto do código Pagina 2 submeter.php <?php $id_downloads = $_POST['varname']; $db = new PDO('sqlite:backup.sqlite'); if(isset($id_downloads)) { echo "teste"; echo $id_downloads; $update = $db->query('UPDATE downloads SET status=1, updated=1 WHERE id_downloads = "' . $id_downloads . '"'); $update->execute(); } ?>
-
Algo aqui não bate bem: SELECT COUNT(*) FROM users; <- Executada no programa (77 resultados) $selection = $db->prepare('SELECT COUNT(*) FROM users;'); $selection->execute(); $count = $selection->rowCount(); 0 resultados... alguém sabe identificar o que estou a fazer mal?
- 6 replies
-
- php
- bases de dados
-
(and 1 more)
Tagged with:
-
Boas! Eu estou a criar uma aplicação em pascal, utilizando o Lazarus e nessa aplicação quero utilizar uma base de dados tipo sqlite, que não necessite de instalar nada para funcionar e que me permita proteger os dados com uma password. Alguma sugestão? Obrigado!
-
Boas Tenho um programa para fazer (Lazarus) que implica o seguinte: - Lista de clientes e numeros de telefone - Entrada de novos clientes (muito esporadicamente, pois a lista está preenchida noutro programa, que seria importada durante o desenvolvimento, e novos clientes aparece um por acaso) - Entrada de registo de chamadas telefonicas ("o cliente ligou, queria isto ou aquilo ou aquel'outro") - Mensagens internas entre os utilizadores do programa, que seriam de texto simples, uma ou duas frases, e também esporádicamente (tipo, "quando acabares de atender esse cliente, tens outro à espera" ou "ligou fulano tal, tu não estavas e ele quer falar contigo") - Registo de alguns produtos vendidos, as suas caracteristicas e data de venda, para efeitos de garantia (se saissem uma média de 5 por semana já eu ficava contente 😄 ) Como podem ver, a carga de trabalho vai ser mínima. O programa antigo, cuja base de dados são simples ficheiros sequenciais binários, não chega a 1MB por ano (embora não inclui as mensagens internas e o registo de equipamento); Lembrei-me de por em SQLite, mas não sei até que ponto é possível pelo seguinte: - Vão haver 8 utilizadores com possibilidade de aceder à base de dados. - Dificilmente se dará o caso de mais do que 1 acederem ao mesmo tempo, dada a pouca carga de informação transmitida, mas o que é certo é que pode acontecer. - O programa ficaria todo num servidor de dados (Win Server 2003), com o EXE a ser corrido por um atalho em cada PC. - É quase certo que várias instancias do programa fiquem abertas ao mesmo tempo (1 em cada PC cliente), embora eu tenha em ideia fazer com que o programa só abra a BD no momento de escrever, e depois volte a fechar. Pergunto: O SQLite aguentaria esse tipo de trabalho? Caso acontecesse haver mais do que um acesso em simultaneo, há um crash, perda de informação, ou simplesmente atrasa o processo do PC que "chegar depois" (se for isto não seria problema, dadas as condições) Ainda pensei em colocar a BD em MySQL, ou SQL Server Express... Mas por tão pouco, parece desajustado andar às voltas com servidores... Obrigado desde já Nuno Picado
-
Olá, Estou a usar uma base de dados sqlite para guardar dados de um programa. Nesse programa tenho campos de texto e estou a guardar essa informação na bd. O problema é que o utilizador pode escrever qualquer coisa o que faz com que possam estar no texto caractéres proibidos, tais como o '. Exemplo de texto que pode ser inderido: don't ask No exemplo acima, o ' é um problema. Há alguma maneira de dar a volta a isto?
-
Olá, Imaginem uma base de dados com estes valores: [1] => USA [2] => Germany [3] => Russia [4] => Austria [5] => China [6] => Switzerland Eu quero ler os 6 valores desta tabela sem qualquer tipo de ordem específica excepto que o primeiro tem de ser "Russia". É possível fazer isto? Estou a usar sqlite.
-
Olá, A minha dúvida é extremamente simples. Eu tenho um programa em vb.net que usa uma base de dados sqlite e queria proteger a base de dados com uma password (preferencialmente) ou no caso de não ser possível, qual a alternativa para não se conseguir aceder aos dados sem ser no meu programa. Obrigado.