Jump to content

Recommended Posts

Posted

Bom dia pessoal,

Estou a criar um programa que vai ter uma ligação com uma base de dados criada em Access. Aqui vou fazer reads, deletes, updates, adds... etc (via programa).

Dúvidas:

- Quero criar um programa que tenha apenas um ficheiro .exe! Ou seja, apenas necessito de ter um .exe e posso executar o programa em qualquer lugar ou máquina com apenas este ficheiro. Como faço para manipular a base de dados e transportá-la dentro do .exe? E todas as outras coisas... (imagens, etc.). Eu tive a pesquisar... e penso que, tudo a que eu adicione aos resources... fica gravado dentro do .exe... Isto é verdade?

- Se tiver razão no ponto acima... é possível via programa... adicionar novos resources? Ou seja, função de export/import de resources?

Cumps

Posted

Bom dia pessoal,

Estou a criar um programa que vai ter uma ligação com uma base de dados criada em Access. Aqui vou fazer reads, deletes, updates, adds... etc (via programa).

Dúvidas:

- Quero criar um programa que tenha apenas um ficheiro .exe! Ou seja, apenas necessito de ter um .exe e posso executar o programa em qualquer lugar ou máquina com apenas este ficheiro. Como faço para manipular a base de dados e transportá-la dentro do .exe? E todas as outras coisas... (imagens, etc.). Eu tive a pesquisar... e penso que, tudo a que eu adicione aos resources... fica gravado dentro do .exe... Isto é verdade?

- Se tiver razão no ponto acima... é possível via programa... adicionar novos resources? Ou seja, função de export/import de resources?

Cumps

Penso que daria, mas para futuros projectos aconselhava-te a pôr a base de dados online... claro que aí teria que ter acesso á internet cada pessoa que usasse a tua aplicação.

Quanto aos resources, não te posso ajudar, mas penso que seja possível.

Posted

A base de dados online não faz sentido para aquilo que quero amigo. Porque inicialmente é uma base de dados empty... E o próprio utilizador é que a preenche. O que queria, era entender mais, as potencialidades das resources... Principalmente: se tudo o que é resources, está "dentro" do .exe... Se posso importar/exportar resources a correr programa... A parte do exportar sei que é possível... agora adicionar... :/

Posted (edited)

Porquê Access?

SQLite faz o que pretendes

(...) secção About (...)

SQLite is an in-process library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine.

ou

Microsoft SQL Server Compact

Edited by Virneto

"Que inquieto desejo vos tortura, Seres elementares, força obscura? Em volta de que ideia gravitais?" >> Anthero de Quental

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Linuxando.com | ...

Posted (edited)

Porquê Access?

SQLite faz o que pretendes

ou

Microsoft SQL Server Compact

Mas através disso posso criar uma base de dados na qual não é necessário estar online para aceder?

Eu estou a criar um software, onde os usuários irão manipular uma base de dados... Quer fazer reset to default (limpar base de dados e ficar com a estrutura e dados iniciais). Quer acrescentar registos, apagar, ler em tabelas... Achas que sqlite é uma melhor opção? Se sim, podes esclarecer-me a dúvida do online/offline...? Cumps

Edit: Se adicionar aos resources... vai ficar tudo incluido no meu .exe file... mas os ficheiros que estão nos resources não são read only?

Edited by Richasantos
Posted

Sabes que o link que te dei responde a estas tuas questões, não?

Mas através disso posso criar uma base de dados na qual não é necessário estar online para aceder?

...

Achas que sqlite é uma melhor opção? Se sim, podes esclarecer-me a dúvida do online/offline...?

SQLite Is Self-Contained

SQLite is largely self-contained. It requires very minimal support from external libraries or from the operating system. This makes it well suited for use in embedded devices that lack the support infrastructure of a desktop computer.

SQLite Is Serverless

Most SQL database engines are implemented as a separate server process. Programs that want to access the database communicate with the server using some kind of interprocess communication (typically TCP/IP) to send requests to the server and to receive back results. SQLite does not work this way. With SQLite, the process that wants to access the database reads and writes directly from the database files on disk. There is no intermediary server process.

Resposta: Sim. É uma BD local que funciona no disco onde a aplicação está instalada. Quando o utilizador na aplicação faz requisitos à BD em vez de se iniciar uma conexão a uma BD num servidor, a conexão é feita ao disco local. Quanto à interação Aplicação/BD esta é semelhante a uma BD online. Tu é que decides na aplicação o que o utilizador pode fazer com a BD. INSERT/UPDATE/DELETE/TRUNCATE/DROP...

Se é uma melhor opção? Eu acho que SqLite é um opção lógica para a tarefa que pretendes fazer e seria, à partida, a opção que eu utilizaria. Certamente não será a única.

Vê a documentação SqLite

Have fun!!

"Que inquieto desejo vos tortura, Seres elementares, força obscura? Em volta de que ideia gravitais?" >> Anthero de Quental

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Linuxando.com | ...

Posted

Desde já, obrigado por toda a ajuda... Vou dar uma vista de olhos em toda a documentação...

Só quero mesmo uma ajuda rápida, numa questão que me incomoda bastante...

Eu quero distribuir o programa num .exe (only). Isto significa que tenho de introduzir a bd como resource... E pelo que eu ando a ler... as resources são read only... ou seja... como é que farei inserts, deletes, etc nesta bd?

Cumps

Posted

Não fazes, pelo menos da forma que estás a dizer... é impossível alterares dados da aplicação sem re-compilares a aplicação, isto é, não poderias adicionar nada á aplicação em si (ao .exe) depois de compilada...

A tua opção é, ou na primeira execução (estou a falar em execução porque parece que não queres instalar a aplicação, apenas executá-la, se percebi mal também não faria diferença), tu exportas os dados dos resources e crias uma base de dados com esses dados... (não sei até que ponto isto é possível, sendo que nunca mechi em SQL... nem em resources, corrijam-me se estiver errado.

Ou fazes a aplicação conectar-se á internet (esta opção não precisas dos resources) e fazes o download da tua bd dum link que tiveres... só mesmo download para o local do executável, e depois fazes verificação se a bd existe para ele não repetir sempre o download em cada execução, e fazes o que tens a fazer apartir daí.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.