D3POD Posted April 22, 2012 at 08:20 PM Report #450581 Posted April 22, 2012 at 08:20 PM Boas a todos, tenho um projecto novo para a empresa onde trabalho que consiste em criar um programa para registo e controlo das instalações do softwares de gestão. Esta aplicação que pretendo será utilizada para adicionar novos softwares e deverá ter alguns campos de preenchimento para controlo dos clientes. Da aplicação será necessário ter botões para Adicionar, Alterar e Eliminar... Opções da Aplicação: Acerca do Cliente: Nome / Empresa Morada Localidade/Zona Provincia Conctato: Email: Nome da pessoa de contacto preferencial: Contacto: Acerca do Software: Data Licença: Licença: Código de Confirmação: Data de Instalação: Tipo de Programa: Versão: Data da Ultima Intervenção: Data da Ultima Actualização: Numero de Postos de Trabalho: Estes são os campos que queria que estivessem lá, bem como um espaço no final para Observações... Gostaria de obter a vossa ajuda para saber o que vou precisar e por onde começar... Gostava também de saber se será possivel criar algum tipo de anexos, ou seja, colocar as folhas que fazemos ao ir aos clientes como anexo para termos sempre comprovativos... Agradeço toda a vossa ajuda 😛 Cumprimentos
bioshock Posted April 22, 2012 at 08:24 PM Report #450582 Posted April 22, 2012 at 08:24 PM Em 22/04/2012 às 22:20, D3POD disse: Acerca do Cliente: Nome / Empresa Morada Localidade/Zona Provincia Conctato: Email: Nome da pessoa de contacto preferencial: Contacto: Acerca do Software: Data Licença: Licença: Código de Confirmação: Data de Instalação: Tipo de Programa: Versão: Data da Ultima Intervenção: Data da Ultima Actualização: Numero de Postos de Trabalho: Estes são os campos que queria que estivessem lá, bem como um espaço no final para Observações... Queres e vão estar. Primeiro lê este artigo: Princípios das Bases de dados. Depois escolhes uma base de dados à medida da aplicação. E por fim começas a experimentar código: Access (Seleccionar, Inserir, Actualizar, Eliminar) Nota: o último link está direccionado para base de dados Access mas funciona para qualquer uma, desde que alteres os devidos parâmetros.
D3POD Posted April 22, 2012 at 09:32 PM Author Report #450599 Posted April 22, 2012 at 09:32 PM Obrigado 😛 Já estou a tratar de ler tudo e ver se percebo como aplicar ao que pretendo... Tenho uma dúvida... <b>Dim command As New OleDbCommand(query, ConnectionString) command.Parameters.Add("@Nome", OleDbType.VarChar).Value = NomeTextbox.Text command.Parameters.Add("@Empresa", OleDbType.VarChar).Value = EmpresaTextbox.Text </b> Aqui terei de adicionar mais linhas para todos os que quero adicionar, por exemplo, para a morada e telefone... certo? E terei que adicionar o código do segundo tutorial nos respectivos botões certo? Isto só para me organizar em termos de código 😄
acao Posted April 22, 2012 at 09:46 PM Report #450602 Posted April 22, 2012 at 09:46 PM Em 22/04/2012 às 22:24, bioshock disse: Queres e vão estar. Primeiro lê este artigo: Princípios das Bases de dados. Depois escolhes uma base de dados à medida da aplicação. E por fim começas a experimentar código: Access (Seleccionar, Inserir, Actualizar, Eliminar) Nota: o último link está direccionado para base de dados Access mas funciona para qualquer uma, desde que alteres os devidos parâmetros. parabéns bioshock, bons artigos, tem tudo o necessário. ainda não tinha lido. cumps acao
acao Posted April 22, 2012 at 09:49 PM Report #450606 Posted April 22, 2012 at 09:49 PM afirmativo, para cada campo sua linha, e botões tambem. cumps acao
D3POD Posted April 22, 2012 at 10:28 PM Author Report #450619 Posted April 22, 2012 at 10:28 PM Boas acao, obrigado pela resposta 😉 Hoje estou só a preparar tudo, tutoriais e a estudar como fazer as coisas, para com calma começar a fazer 😉 Sou muito iniciado nisto e quero aprender portanto nada melhor que primeiro estudar todas as hipoteses. Digam-me uma coisa, eu insiro um novo cliente, mas como o posso ir buscar mais tarde? Com o SELECT? a minha ideia era, ou criar uma lista lateral com todos e depois fazer scroll para encontrar o que pretendo... ou então um search... Não sei é que ferramenta usar e como colocar em prática esta parte... Cumprimentos 😉 Já agora um offtopic, este fórum não tem suporte para tapatalk?
acao Posted April 22, 2012 at 11:49 PM Report #450645 Posted April 22, 2012 at 11:49 PM Boas acao, obrigado pela resposta 😉 Hoje estou só a preparar tudo, tutoriais e a estudar como fazer as coisas, para com calma começar a fazer 😉 Sou muito iniciado nisto e quero aprender portanto nada melhor que primeiro estudar todas as hipoteses. correcto mas não se preocupe está em boas maos o membro bioshock é excelente e disse «Queres e vão estar.» portanto estejá avontade é só fazer pela vida, e a comunidade é grande não se preocupe mesmo. Digam-me uma coisa, eu insiro um novo cliente, mas como o posso ir buscar mais tarde? Com o SELECT? a minha ideia era, ou criar uma lista lateral com todos e depois fazer scroll para encontrar o que pretendo... ou então um search... Não sei é que ferramenta usar e como colocar em prática esta parte... afirmativo é com o select. passe pelo link abaixo e pesquise também por «sql + consultas» que encontrará muitos exemplos. http://www.macoratti.net/vb_sql2.htm http://www.devmedia.com.br/tutorial-sql-seu-guia-pratico-para-execucao-de-consultas-parte-final/3291 cumps acao
D3POD Posted April 23, 2012 at 07:36 PM Author Report #450916 Posted April 23, 2012 at 07:36 PM Boas estou aqui com uma dúvida... Ainda não comecei a colocar código, estou ainda na parte de criar o layout e tentar perceber o código... O que me está a por confusão é a parte de procurar um registo já criado, a maneira de depois o visualizar já percebi pelo código que posso usar um datagridview mas a dúvida é como procurar... Será que posso fazer assim? Dim ConnectionString As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Application.StartupPath & "\BD.mdb")Dim query As String = "SELECT * FROM Clientes WHERE ID = @IDCliente" Dim command As New OleDbCommand(query, ConnectionString) ' Seleccionar os dados APENAS do cliente 3 command.Parameters.Add("@NomeCliente", OleDbType.Integer).Value = SearchCliente.textbox Dim DataAdapter As New OleDbDataAdapter(command) Dim MyData As New DataSet DataAdapter.Fill(MyData, "Clientes") Me.DataGridView1.DataSource = MyData.Tables("Clientes") ' Neste caso utilizei uma datagridview para visualizar os dados Penso que assim ao colocar por exemplo João, Lda ele vai-me abrir no datagridview os dados do João, Lda certo? Ou já estou a inventar de mais...?
acao Posted April 23, 2012 at 08:44 PM Report #450967 Posted April 23, 2012 at 08:44 PM boas não, pela simples razao de em: Dim query As String = "SELECT * FROM Clientes WHERE ID = @IDCliente" deverias ter: Dim query As String = "SELECT * FROM Clientes WHERE nomecliente = @nomecliente" command.Parameters.Add("@NomeCliente", OleDbType.VarChar).Value = NomedaTextbox.Text ou Dim query As String = "SELECT * FROM Clientes WHERE nomecliente = textbox.text" e eliminar command.Parameters.Add("@NomeCliente", OleDbType.VarChar).Value = NomedaTextbox.Text 'varchar é para (string). mas o mais usado é usar, Dim query As String = "SELECT * FROM Clientes WHERE nomecliente = @nomecliente" ps: a textbox podia ser substituida por por uma variavel, numerario etc. cumps acao
D3POD Posted April 23, 2012 at 09:15 PM Author Report #450989 Posted April 23, 2012 at 09:15 PM ahhh ok, tinha-me esquecido de mudar também aí o @IDcliente 😄 Mudei só a baixo porque era onde tinha a dúvida... e também reparei que me corrigiste quanto ao nomecliente.textbox 🙂 Vou analisar essa parte da variável... mas a diferença maior será apenas na interpretação do código certo? A nivel de funcionalidades será o mesmo? Vamos lá ver se consigo projectar isto na aplicação 😄
acao Posted April 23, 2012 at 09:49 PM Report #451001 Posted April 23, 2012 at 09:49 PM boas não te equeças que a base dados tem que estar na pasta «bin/debug, mas eu uso o disco D/ para estar fora do sistema operativo para se for necessário formatar não correr o risco de eliminar a base de dados. uso assim: Dim ConnectionString As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\BaseDados\db.accdb;Jet OLEDB:Database Password= " & vCodDB & ";") talvez fosse melhor usar db «accdb» em vez de mdb, é muito mais facil controlar a password.(acces 2007 ou superior). cumps acao
D3POD Posted April 24, 2012 at 12:10 PM Author Report #451097 Posted April 24, 2012 at 12:10 PM Obrigado 🙂 Por acaso tenho aqui um tutorial onde menciona isso da base de dados 😄 Vou começar hoje a pôr código 😄 Vamos lá ver 🙂
D3POD Posted April 24, 2012 at 09:18 PM Author Report #451239 Posted April 24, 2012 at 09:18 PM Boas, começaram então os problemas 😛 No inicio com a base de dados dava logo um erro ao entrar em modo debug, mas lá resolvi... Agora tenho aqui um problema que me está a por doido, referente a este código: Dim ConnectionString As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Application.StartupPath & "\bd.accdb")Dim query As String = "INSERT INTO Clientes([Nome]) VALUES (@Nome)" Dim command As New OleDbCommand(query, ConnectionString) command.Parameters.Add("@Nome", OleDbType.VarChar).Value = NomeTextbox.Text ConnectionString.Open() O problema está que não cria nada na base de dados :S Agora as minhas dúvidas: Eu tenho a base de dados dentro da pasta do projecto \bin\debug será que está aqui algum problema? Também não percebo esta parte do código: Dim query As String = "INSERT INTO Clientes([Nome]) VALUES (@Nome)" Mais propriamente a parte do INSERT INTO Clientes... este clientes refere-se ao quê? Será que falta código ou já mexi de mais? Agradeço a vossa ajuda 😉 Cumprimentos
acao Posted April 24, 2012 at 09:45 PM Report #451247 Posted April 24, 2012 at 09:45 PM boas compara com o meu post anterior. Dim ConnectionString As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Application.StartupPath & "\bd.accdb") olha para o providor, está a colocar referente a db.mdb cumps acao
D3POD Posted April 25, 2012 at 06:40 PM Author Report #451441 Posted April 25, 2012 at 06:40 PM Boas, eu é que me enganei... eu tenho assim: Dim ConnectionString As String = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & Application.StartupPath & "\BD.accdb" e não introduz nada :S Desculpem a demora mas hoje foi um dia complicado...
acao Posted April 25, 2012 at 10:28 PM Report #451488 Posted April 25, 2012 at 10:28 PM Boas, eu é que me enganei... eu tenho assim: e não introduz nada :S Desculpem a demora mas hoje foi um dia complicado... pois mas está mal não viste bem o que te escrevi nem o link que o membro bioshock te sugeriu. segue um exemplo para tu veres http://dl.dropbox.com/u/65238129/Portugal_a_programar/testeforum.rar
D3POD Posted April 26, 2012 at 04:00 PM Author Report #451606 Posted April 26, 2012 at 04:00 PM Obrigado acao 🙂 Diz-me uma coisa no caso de na textbox colocar texto não posso colocar o "x" como integer certo? Ou seja também o if x < 1também não serve neste caso, ou estou a fazer confusão? EDIT1: Humm agora dá-me erro em: Dim x As Integer = command.ExecuteNonQuery OledDbException was unhandled Não tenho nada feito, só se for do lado da base de dados... Maneira de resolver... peguei na base de dados e alterei, a que vinha no .rar Pelos vistos o problema estava na base de dados pois agora funciona 5* 😛 Muito obrigado 😄
acao Posted April 26, 2012 at 07:32 PM Report #451635 Posted April 26, 2012 at 07:32 PM boas pois foi feita em access2010 não converti poderia ser isso. cumps acao
D3POD Posted April 26, 2012 at 08:13 PM Author Report #451639 Posted April 26, 2012 at 08:13 PM não, a tua é que funciona 🙂 ou funcionava 😛 Porque é que quando faço o debugging e escrevo nos campos ele dá-me erro no Dim x As Integer = command.ExecuteNonQuery() Estava a funcionar bem... deixou de funcionar depois de começar a adicionar mais campos na base de dados e no código do botão xS
acao Posted April 27, 2012 at 01:28 PM Report #451767 Posted April 27, 2012 at 01:28 PM boas deve ter a ver com a query (select) ou parametros, para cada campo seu parametro. 'para carecteres (texto) ->Varchar command.Parameters.Add("@NomeCliente", OleDbType.VarChar).Value = NomedaTextbox.Text 'para numerario ->Integer command.Parameters.Add("@NumeroCliente", OleDbType.Integer).Value = NomedaTextbox.Text cumps acao
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now