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

zephirus

Base de dados, o que é melhor?

20 mensagens neste tópico

Olá de novo.

Tenho uma questão sobre bases de dados. O programa que estou a desenvolver usa uma e optei, para ser mais prático ao início, usar o Access.

Para já tenho uma questão em relação ao uso desta base de dados. Quando abro no access, aparecem-me as colunas dispostas do seguinte modo:

col1  col2  col3  col4  col5 .... e por aí fora

Quando adiciono numa DataGridView, fica qualquer coisa do género:

col1  col2  col5  col3  col4 ... etç, ou seja, troca-me as colunas. O que é que se está a passar?

À parte disto, e como não sou grande entendido na matéria, será que me podem sugerir a melhor maneira de guardar os meus dados. Pretendo que seja seguro (não quero que seja possível aceder aos dados sem ser através do meu programa) e gostaria também de poder (talvez numa versão futura) possibilitar uma actualização do ficheiro pela internet.

O meu código:

Dim conexao As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "\basededados.mdb"
Dim sql As String = "Select * from dados"

Dim da As New data.OleDb.OleDbDataAdapter(sql,conexao)
Dim ds As New Data.DataSet
    
da.Fill(ds, "dados")
DataGridView1.DataSource = ds
DataGridView1.DataMember = "dados"

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Como é q estás a carregar os registos na DataGridView ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Como é q estás a carregar os registos na DataGridView ?

Está no meu post inicial. Acrescentei agora mesmo

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ordena no SQL statement. Ex:

Dim sql As String = "Select [col1], [col2], [col3] from dados"

gostaria também de poder (talvez numa versão futura) possibilitar uma actualização do ficheiro pela internet

O que pretendes fazer (explica lá melhor) ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ordena no SQL statement. Ex:

Dim sql As String = "Select [col1], [col2], [col3] from dados"

O que pretendes fazer (explica lá melhor) ?

Desde já obrigado pela questão da ordenação da base de dados. Já tá a funcionar à maneira.

Quanto ao que eu pretendo. Como disse, tenho os meus dados numa base de dados de Access mas estes dados estão constantemente a ser actualizados. Não pelo meu programa mas diariamente. Seria interessante, através do programa, ele actualizar automaticamente. Pode ser feito de modo mais simples através do download de um ficheiro mas se fosse uma actualização para o ficheiro físico que estará no computador de cada um, melhor. A minha outra questão tem a ver com a segurança dos dados.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mas queres é actualizar o executável? Dá uma vista de olhos no meu blog http://vbtuga.blogspot.com/

Não, apenas (neste caso), o ficheiro access. Mas poderá ser outro tipo de ficheiro desde que guarde os meus dados.

Vou dar uma olhada no teu blog...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Quanto ao que eu pretendo. Como disse, tenho os meus dados numa base de dados de Access mas estes dados estão constantemente a ser actualizados. Não pelo meu programa mas diariamente. Seria interessante, através do programa, ele actualizar automaticamente. Pode ser feito de modo mais simples através do download de um ficheiro mas se fosse uma actualização para o ficheiro físico que estará no computador de cada um, melhor. A minha outra questão tem a ver com a segurança dos dados.

Ora aí está uma questão interessante!

Esta situação depende de muitas variáveis como o tipo de aplicação, numero de utilizadores, etc. Se for uma coisa mais ou menos simples pode ser fácil de implementar mas também pode ser complicado. Imagina que fazes uma aplicação de facturas onde utilizas várias chaves primárias. Se um utilizador inserir novos códigos numa tabela, outro utilizador pode fazer o mesmo e a informação quando for para se juntar pode originar problemas. Tenta explicar melhor o que pretendes mas o melhor, parece-me, era escrever directamente no servidor (remoto neste caso).

Em relação à segurança de dados o que queres dizer ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ora aí está uma questão interessante!

Esta situação depende de muitas variáveis como o tipo de aplicação, numero de utilizadores, etc. Se for uma coisa mais ou menos simples pode ser fácil de implementar mas também pode ser complicado. Imagina que fazes uma aplicação de facturas onde utilizas várias chaves primárias. Se um utilizador inserir novos códigos numa tabela, outro utilizador pode fazer o mesmo e a informação quando for para se juntar pode originar problemas. Tenta explicar melhor o que pretendes mas o melhor, parece-me, era escrever directamente no servidor (remoto neste caso).

Em relação à segurança de dados o que queres dizer ?

O utilizador não modifica o ficheiro de dados. Eu é que o modifico. É uma tabela com número de colunas constantes onde o que varia é o número de linhas (vai aumentado de x em x dias).

Em relação à segurança, refiro-me tanto a este ficheiro de dados como ao programa em si. Em relação aos dados não percebo mesmo nada, não sei se um ficheiro Access pode ser acedido sem autorização, etç. Quanto ao programa, lembro-me há muitos anos atrás de existirem programas que descompilavam os executáveis feitos em VB. Não sei se isso é possível agora em VB.NET. O que eu quero dizer é que quero ter um programa, cujo código não possa ser acedido.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
O utilizador não modifica o ficheiro de dados. Eu é que o modifico. É uma tabela com número de colunas constantes onde o que varia é o número de linhas (vai aumentado de x em x dias).

Queres dizer que o utilizador não regista nada (dados) serve apenas para consulta? Se for assim tens parte do exemplo no blog de como ir buscar informação a um ficheiro (versão) e descarregar se for preciso.

Em relação à segurança, refiro-me tanto a este ficheiro de dados como ao programa em si. Em relação aos dados não percebo mesmo nada, não sei se um ficheiro Access pode ser acedido sem autorização, etç. Quanto ao programa, lembro-me há muitos anos atrás de existirem programas que descompilavam os executáveis feitos em VB. Não sei se isso é possível agora em VB.NET. O que eu quero dizer é que quero ter um programa, cujo código não possa ser acedido.

As bases de dados em Access podem ter uma password de acesso mas existem bastantes utilitários para as desproteger. Se forem dados realmente importantes podes e deves utilizar encriptação de dados com uma chave. O utilizador até pode ver nas não irá perceber nada.

Em relação aos descompiladores eles na verdade existem mas são limitados. Consegues ver as classes e alguns dados mas não toda a informação – felizmente! O importante é não guardar passwords e dados de configuração em ficheiros auxiliares (tipo xml) sem encriptação.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Queres dizer que o utilizador não regista nada (dados) serve apenas para consulta? Se for assim tens parte do exemplo no blog de como ir buscar informação a um ficheiro (versão) e descarregar se for preciso.

As bases de dados em Access podem ter uma password de acesso mas existem bastantes utilitários para as desproteger. Se forem dados realmente importantes podes e deves utilizar encriptação de dados com uma chave. O utilizador até pode ver nas não irá perceber nada.

Em relação aos descompiladores eles na verdade existem mas são limitados. Consegues ver as classes e alguns dados mas não toda a informação – felizmente! O importante é não guardar passwords e dados de configuração em ficheiros auxiliares (tipo xml) sem encriptação.

Epá, tens sido uma grande ajuda. Muito obrigado mesmo. Só fiquei sem saber uma coisa. Alternativas ao ficheiro em Access, vale a pena? Sugerias algo de diferente?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pessoalmente eu gosto access mas isso depende muito da quantidade de dados, de onde vai trabalhar, etc. Se forem muitos dados - força, se forem poucos dados podes utilizar um ficheiro XML. Mas tu é que sabes o número de registo que vai ter.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pessoalmente eu gosto access mas isso depende muito da quantidade de dados, de onde vai trabalhar, etc. Se forem muitos dados - força, se forem poucos dados podes utilizar um ficheiro XML. Mas tu é que sabes o número de registo que vai ter.

Ok, vou então usar o Access.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu utilizo o SQL Management Studio Express...  disponivel gratuitamente para download no site da microsoft... bastante facil a comunicaçao com o VB

Ao inicio comecei com o Acess.. mas rapidamente evolui para o SQL

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obrigado Weasel e freaklori. Vou dar uma olhada nessas duas alternativas.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu utilizo o SQL Management Studio Express...  disponivel gratuitamente para download no site da microsoft... bastante facil a comunicaçao com o VB

Ao inicio comecei com o Acess.. mas rapidamente evolui para o SQL

Também utilizo às vezes ... é muito aceitável e uma optima alternativa ao access.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

jpaulino , Nao conheco as principais diferenças entre o SQLserver e o ACESS mas devido a questoes de trabalho tive que escolher o SQLserver e para efectuar qualquer tipo de operaçao entre tabelas que contem milhares de registos tem se safado mt bem :P

nao me posso queixar!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

jpaulino , Nao conheco as principais diferenças entre o SQLserver e o ACESS mas devido a questoes de trabalho tive que escolher o SQLserver e para efectuar qualquer tipo de operaçao entre tabelas que contem milhares de registos tem se safado mt bem :P

nao me posso queixar!

freaklori,

90% dos meus projectos, quer em vb.net, quer em asp.net utilização o SQL Server.

No entanto para projectos mais simples utilizo também o Access ou MSDE(SQL Server 2000 Desktop Engine)

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