Jump to content
Sign in to follow this  
skiller10

Local Database

Recommended Posts

skiller10

Hey,

Alguém me consegue explicar como posso ter uma base de dados local do programa, como "trabalhar" com ela e aceder sem ter que colocar a directoria completa (c:\...). E o mesmo para ficheiros .txt incorporados no projecto.

Testei meter ...\\nome.txt, nome.txt, etc mas não funcionou com nada.

A minha ideia era ter uma local database que é instalado simultaniamente com o programa e que o programa consiga aceder à mesma sem precisar de saber em que drive está, assim como nos ficheiros .txt, apenas necessitar de saber o nome do ficheiro e que se encontra na pasta do programa.

Alguma ideia?


"Eu acredito que a vida está constantemente nos testando em nosso nível de confiança, e a vida tem grande recompensa reservada àqueles que demonstram uma confiança sem fim para agir até conseguir. Este nível de resolução pode mover montanhas, mas ele tem de ser constante e consistente. Tão simples quanto isso possa soar, ainda é o denominador comum que separa aqueles que vivem seus sonhos dos que vivem simplesmente.."

Share this post


Link to post
Share on other sites
kongas

basta colocares o nome do ficheiro....

por exemplo, para ler ficheiro .txt na directoria do .exe basta fazer:

StreamReader sr = new StreamReader(@"data.txt");

espero ter ajudado...

Share this post


Link to post
Share on other sites
skiller10

Eu no programa vou executar um prompt de comando e esse prompt é que vai chamar o txt, será que funciona como estás a dizer?

E quanto as local databases, sabes como trabalhar com elas?


"Eu acredito que a vida está constantemente nos testando em nosso nível de confiança, e a vida tem grande recompensa reservada àqueles que demonstram uma confiança sem fim para agir até conseguir. Este nível de resolução pode mover montanhas, mas ele tem de ser constante e consistente. Tão simples quanto isso possa soar, ainda é o denominador comum que separa aqueles que vivem seus sonhos dos que vivem simplesmente.."

Share this post


Link to post
Share on other sites
herty

se tu ao instalares garantires que tudo fica na mesma directoria, ou em sub directorias desssa directoria, podes sempre ir buscar esses ficheiros com o caminho relativo ao executavel que estas a correr, se não à funções que te devolvem o caminho onde o teu .exe tá a ser executado.

Share this post


Link to post
Share on other sites
skiller10

mas eu queria ter uma versão portable do programa, daí precisar de executar sempre apartir da pasta onde está o programa :S


"Eu acredito que a vida está constantemente nos testando em nosso nível de confiança, e a vida tem grande recompensa reservada àqueles que demonstram uma confiança sem fim para agir até conseguir. Este nível de resolução pode mover montanhas, mas ele tem de ser constante e consistente. Tão simples quanto isso possa soar, ainda é o denominador comum que separa aqueles que vivem seus sonhos dos que vivem simplesmente.."

Share this post


Link to post
Share on other sites
herty

o instalar não é mais que colocar o .exe onde queiras, logo vai dar ao mesmo se copiares tudo para uma determinada pasta, logo que garantas o que eu disse acima

Share this post


Link to post
Share on other sites
kongas

Sim, tal como o herty disse, desde que o ficheiro/ ficheiros de base de dados (e.g. SQL -> .mdf) esteja na pasta ou em sub-pastas da directoria onde tens o executavel, funciona.

Se estiver na mesma pasta utilizas só o nome, se estiver numa sub pasta, utilizas:

(@"<nome da subpasta>/data.txt")

Para base de dados, em vez de utilizares uma connection string de ligação a um servidor fazes uma ligação a um ficheiro de base de dados.

Abraço

Share this post


Link to post
Share on other sites
skiller10

Um ficheiro de base de dados, tipo xml? Tens por aí algum tutorial por onde me possa seguir?


"Eu acredito que a vida está constantemente nos testando em nosso nível de confiança, e a vida tem grande recompensa reservada àqueles que demonstram uma confiança sem fim para agir até conseguir. Este nível de resolução pode mover montanhas, mas ele tem de ser constante e consistente. Tão simples quanto isso possa soar, ainda é o denominador comum que separa aqueles que vivem seus sonhos dos que vivem simplesmente.."

Share this post


Link to post
Share on other sites
skiller10

Eu de início tinha o as bases de dados em mysql, com a ajuda do xampp.

Agora adicionei o componente local database no visual studio, e ja criei as tabelas, mas não consigo trabalhar os dados da tabela a não ser por data grid view, e eu queria so mostrar um dos campos da tabela numa listbox


"Eu acredito que a vida está constantemente nos testando em nosso nível de confiança, e a vida tem grande recompensa reservada àqueles que demonstram uma confiança sem fim para agir até conseguir. Este nível de resolução pode mover montanhas, mas ele tem de ser constante e consistente. Tão simples quanto isso possa soar, ainda é o denominador comum que separa aqueles que vivem seus sonhos dos que vivem simplesmente.."

Share this post


Link to post
Share on other sites
herty

da aqui uma vista de olhos :)

http://pplware.sapo.pt/tutoriais/tutorial-c-ligacao-a-base-de-dados-mysql/

E não uses isso da base de dados local, tens uma base de dados e um programa, o programa tem de aceder aos dados de uma base de dados atravez de uma conexão.

A conexão é feita atravez de uma conection string, onde indicas a tua pass, base de dados por defeito etc...

Espero ter ajudado :)

Cump

Share this post


Link to post
Share on other sites
skiller10

E é possível juntar o ficheiro da base de dados ao projecto, de forma a poder aceder independetemente de onde for instalado?


"Eu acredito que a vida está constantemente nos testando em nosso nível de confiança, e a vida tem grande recompensa reservada àqueles que demonstram uma confiança sem fim para agir até conseguir. Este nível de resolução pode mover montanhas, mas ele tem de ser constante e consistente. Tão simples quanto isso possa soar, ainda é o denominador comum que separa aqueles que vivem seus sonhos dos que vivem simplesmente.."

Share this post


Link to post
Share on other sites
herty

Sim é possivel, basta incluires na solução.

Mas se vais trabalhar com MySQL vais ter de ter uma isntancia na máquina que instalares a aplicação

Share this post


Link to post
Share on other sites
skiller10

Uma instância como assim? nao percebi :x

O que recomendas para usar no meu caso?


"Eu acredito que a vida está constantemente nos testando em nosso nível de confiança, e a vida tem grande recompensa reservada àqueles que demonstram uma confiança sem fim para agir até conseguir. Este nível de resolução pode mover montanhas, mas ele tem de ser constante e consistente. Tão simples quanto isso possa soar, ainda é o denominador comum que separa aqueles que vivem seus sonhos dos que vivem simplesmente.."

Share this post


Link to post
Share on other sites
herty

Se usares mysql recomendo-te veres o link que te mandei :)

E conectas-te directamente a uma base de dados mysql sem precisares do ficheiro.

Tens sempre é de ter o mysql instalado (ou seja uma instancia).

Share this post


Link to post
Share on other sites
skiller10

Referes-te a conectar-me pelo localhost? isso foi o que fiz, mas eu queria que fosse so o programa, sem ter que instalar qualquer instancia


"Eu acredito que a vida está constantemente nos testando em nosso nível de confiança, e a vida tem grande recompensa reservada àqueles que demonstram uma confiança sem fim para agir até conseguir. Este nível de resolução pode mover montanhas, mas ele tem de ser constante e consistente. Tão simples quanto isso possa soar, ainda é o denominador comum que separa aqueles que vivem seus sonhos dos que vivem simplesmente.."

Share this post


Link to post
Share on other sites
herty

Podes sempre utilzar uma base de dados em access, e ai sim já so vais ter um ficheiro.

Mas isso para quando tens poucas tabelas e poucos dados.

Caso a tua base de dados venha a crescer, ai já vais precisar de uma base de dados mais robusta e mais eficiente.

E neste caso já vais nessecitar de instalar uma instancia do MySQL/SQLServer/Oracle na máquina.

Share this post


Link to post
Share on other sites

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
Sign in to follow this  

×
×
  • 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.