• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Alcap

BD em C

19 mensagens neste tópico

Boas,

Preciso de criar um programa que escreva e leia para uma base de dados. A base de dados nao precisa de ser muito elaborada, podendo ate ser um ficheiro txt. Se eu optar, por exemplo, por uma bd em mysql como é que passo argumentos do programa para a bd?

Desde ja agradecido

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ja andei a ver, e é uma das coisas que me poe contra o mysql... É bastante confuso. Envolve comandos da biblioteca mysql.h que nao conheço :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

É pá, desculpa mas isso é incompreensível. Se não se sabe, aprende-se, é para isso que cá estamos todos. É claro que tens que utilizar funções da biblioteca, mesmo que não as conheças. Qualquer outro sistema de gestão de bases de dados funciona na mesma base.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Isso é tudo muito engraçado, mas nao sei onde ver esse tipo de coisas! Já me fartei de procurar pelo google, e nada!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ya, o meu problema começa no SQL ;) Vou ver na w3schools se ha alguma coisa.

Acham mesmo que a melhor opçao é mysql?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ya, o meu problema começa no SQL ;) Vou ver na w3schools se ha alguma coisa.

Acham mesmo que a melhor opçao é mysql?

Depende da complexidade do problema. Como falaste em ficheiros de texto, talvez não se justifique, mas as alternativas também não devem ser muito simples no teu caso.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ficheiros de texto ainda sei como interagir +/-, agora mysql... Ainda tenho que aprender a mexer direito la.

Olha, ja agora, tb tou com outro problema... Encomendaram-me o trabalho para plataforma windows, e o windows no meu disco é agora uma partiçaozita em ext3... Tenho que instalar uma vmware ou ha maneiras de contornar a historia?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Devia estar algo rabugento quando dei a resposta anterior ;)

SQL não é nenhum bicho de sete cabeças, com o manual por perto chegas lá rapidamente.

Não é impossível, mas é difícil desenvolver para Windows em Linux (ou vice versa). Se não utilizares funções específicas do SO podes sempre programar sobre uma framework (estilo GTK) em Linux e só no fim dar uns retoques em Windows. Mas o melhor é mesmo utilizares uma máquina virtual, à falta de uma instalação nativa. Vê o VirtualBox.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ficheiros de texto pode parecer mais facil porque estás habituado a usa-los e tudo está ali à tua vista, de forma que sabes mais ou menos o que se passa. Mas o mesmo acaba por acontecer com outras tecnologias quando as dominares.

A linguagem SQL foi criada precisamente para facilitar a manipulação de dados e não para complicar.

Tudo depende do que quiseres fazer... se for para guardar uma estrutura de dados...deve haver praí bibliotecas tipo pickle, ou serialize, ou coisa parecida para C, não te posso dar nenhum conselho porque nunca usei nenhuma.

Se for uma estrutura de dados muito simples a primeira coisa que vem a cabeça são mesmo os ficheiros de texto... para coisas simples são praticos, mas se aumentas um pouco a complexidade tornam-se num entrave ao desenvolvimento devido à rigidez que a tua aplicação tem que ter.

Para fazeres o que quiseres dos dados... uma solução que use SQL acaba por ser o melhor.

O w3schools é um sitio de confiança para aprenderes sql, o SQL mais basico aprende-se relativamente rapido e já dá para fazer muita brincadeira.

Eu nao aconselho o mysql de todo... uma vez tive que usar o mysql em C++ e foi o cabo dos trabalhos para o por a funcionar.

Mas o pior não é isso... o pior é mesmo o facto de o teu utilizador ter que instalar o mysql para correr a tua aplicação. Tambem dá para embutir o mysql numa aplicação mas nunca vi ninguem a fazer isso e nem quero imaginar o overhead que isso não criará.

Eu aconselho SQLITE. É um motor de base de dados em forma de biblioteca, a propria biblioteca é o motor de base de dados. Inclui-o usa-o, compila a tua aplicação e tens uma base de dados a funcionar... e fica guardada num ficheiro.

O sqlite é usado pelo firefox e por muitos outros softwares que usas diariamente. a unica coisa que tens que fazer é incluir uma biblioteca.

http://sqlite.org

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas,

Ora bem, decidi aceitar a opçao do pedrotuga, e usar sqlite, em vez de mysql. Tenho andado à procura de programas tipo, para poder ver +/- as funçoes que utilizam, sintaxes, etc, mas ate agora encontrei muito pouca coisa. Vou dar uma vista de olhos por alguns foruns, pode ser que encontre mais qualquer coisa. A interface parece ser relativamente simples de fazer em C, visto que aquilo que eu realmente preciso é so inserir dados, apagar tabelas/dados, fazer backup's, fazer pesquisas(esta ultima ainda nao sei como se faz :-[), e fazer dumps da bd toda para um txt.

PS: Obrigado thedark por me dares a conhecer o virtualbox! Nao fazia ideia que havia algo open-source para virtualizaçao de SO's! E ainda por cima tao simples de instalar e usar!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas,

Pode parecer uma pergunta parva, mas nao estou a conseguir usar a biblioteca sqlite3.h. Diz-me que nao existe tal ficheiro. Ja tentei instalar a biblioteca, mas na secçao de downloads aparecem-me dll's... Ja os tentei meter na pasta system 32, mas sem efeito :D

Alguem sabe qual é o problema?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Aqui tens este zip que contém os ficheiros .h aos quais tens que fazer include para utilizar a biblioteca. Não te esqueças de incluir o ficheiro .c no projecto.
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obrigado, dentro de uns tempos postando as duvidas que houverem;)

So uma coisa, esses headers sao apra linux ou windows?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não há qualuer limitação desse tipo em relação aos SOs mais conhecidos: windows, mac, linux.

Esta biblioteca corre nos 3... pelo menos.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Aqui tens este zip que contém os ficheiros .h aos quais tens que fazer include para utilizar a biblioteca. Não te esqueças de incluir o ficheiro .c no projecto.

Bem, comecei hoje a criar a interface em C, e ao tentar usar funçoes tipo sqlite_open da-me erro de linkagem, usando os headers que me indicaste.

Outra m**** que tb nao faço a minima de como irei criar é os search fields para as diferentes tabelas... Alguem se importava de me dar um empurrao?

Desde ja agradecido;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora