ladytf Posted September 30, 2013 at 10:33 AM Report #526753 Posted September 30, 2013 at 10:33 AM olá a todos, Como referi na minha apresentação não tenho formação em programação mas gosto de fazer uns trabalhos caseiros só por diversão... Com aquilo que descobri já consegui criar uma aplicação jeitosa, no entanto ainda não esta totalmente ao meu gosto e é nesse sentido que vos peso ajuda. Criei um projecto em Microsoft Visual C# Express 2010, e esta a fazer ligação a uma base de dados Access (até aqui tudo bem). Quando faço publicar projecto e o passo para outro computador da erro ao iniciar-lo porque o ficheiro do Access não vai com ele. Já fui ás opções e confirma-se que esta em modo incluído-requerido a base de dados. O que me falta fazer? Como faço isto resultar? O projecto e para fazer o acompanhamento de uma oficina, onde estão inseridos os clientes, os carros, e os trabalho realizados. Existe alguma maneira de imprimir uma tabela com os dados inseridos? ex: quero saber a lista de clientes que tenho e o seu numero de telefone, existe alguma forma de imprimir uma tabela (estilo relatório do Access) com essas informações? Se a resposta a estas questões já tiver sido respondida peço desculpa pela repetição e agradeço que me redireccionem para a resposta. obrigada
pikax Posted September 30, 2013 at 10:35 AM Report #526755 Posted September 30, 2013 at 10:35 AM o ficheiro do Access esta' nos resources do projecto? Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender. A beleza de um código está em decompor problemas complexos em pequenos blocos simples. "learn how to do it manually first, then use the wizzy tool to save time." "Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."
nelsonr Posted September 30, 2013 at 10:42 AM Report #526759 Posted September 30, 2013 at 10:42 AM Boas, certifica-te que o ficheiro da base de dados está no projecto com o "Build Action" como "Content". Em relação à impressão, podes usar componentes de relatorios. Verifica se este topico ajuda: https://www.portugal-a-programar.pt/topic/36314-vbnet-imprimir-relatorios-%E2%80%93-versoes-express/
ladytf Posted September 30, 2013 at 10:58 AM Author Report #526760 Posted September 30, 2013 at 10:58 AM o ficheiro do Access esta' nos resources do projecto? Desculpa não percebi, tenho o ficheiro access inserido no projecto Boas, certifica-te que o ficheiro da base de dados está no projecto com o "Build Action" como "Content". Em relação à impressão, podes usar componentes de relatorios. Verifica se este topico ajuda: http://www.portugal-a-programar.pt/topic/36314-vbnet-imprimir-relatorios-%E2%80%93-versoes-express/ confere, a "build action" esta como "content" ja tinha visto um pouco por alto esse tópico... o que estao a sugerir la e inserido no projecto ou e algo a parte?
ladytf Posted September 30, 2013 at 04:19 PM Author Report #526792 Posted September 30, 2013 at 04:19 PM deixo aqui a mensagem de erro que aparece depois de instalar quando tento correr o projeto
nelsonr Posted September 30, 2013 at 04:23 PM Report #526793 Posted September 30, 2013 at 04:23 PM Boas, estás a publicar o projecto e gera um setup? Fazes instalação e verificaste na pasta destino que não fica lá o ficheiro da base de dados? Que caminho estás a usar para abrir a base de dados?
ladytf Posted September 30, 2013 at 05:04 PM Author Report #526798 Posted September 30, 2013 at 05:04 PM Boas, estás a publicar o projecto e gera um setup? quando faço publicar gera.me uma pasta que contem setup, o ficheiro application (que faz o mesmo que o setup) e uma pasta chamada application files onde guarda as versoes que vou publicando. Fazes instalação e verificaste na pasta destino que não fica lá o ficheiro da base de dados? depois de fazer instalação apenas me vai para a barra de iniciar a aplicação para a correr Que caminho estás a usar para abrir a base de dados? é capaz de ser ai que esta a falhar... o que tenho e o seguinte: quando aparece a form de login ele valida os dados com o caminho: int result = registoTableAdapter.FillByRegisto(database1DataSet.Registo, textBox1.Text, textBox2.Text); if (result == 1) { FrmcPrincipal frmp= new FrmcPrincipal(); frmp.Show(); this.Visible = false; } else{ MessageBox.Show("User ou senha invalida", "Ocorreu erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } se a pessoa nao estiver registada carrega em registar e aparece um formulário com base nas tabelas do access com o seguinte caminho: this.registoTableAdapter.Fill(this.database1DataSet.Registo); o que e que me falta fazer?
nelsonr Posted September 30, 2013 at 05:25 PM Report #526808 Posted September 30, 2013 at 05:25 PM Confirma na pasta do setup \ "Application Files\tua aplicação" se tens lá o ficheiro da base de dados (.deploy). Se tiveres é porque está a ser distribuida. Quando instalas a aplicação, os ficheiros ficam numa pasta gerada pelo ClickOnce, incluindo a base de dados. Podes verificar fazendo assim: - Executas a tua aplicação - Vais ao gestor de processos do windows (Task Manager, podes usar o CTRL+SHIFT+ESC) - Dentro do task manager, clicas no nome da tua aplicação com o botão direito e escolhes "Open file location" Se tiver lá o ficheiro da base de dados, então pode ser que não estejas a indicar o caminho correcto quando usas a base de dados na tua aplicação. Podes mostrar o código que usas para fazer a ligação à base de dados? (esse código que colocaste não mostra)
ladytf Posted September 30, 2013 at 06:00 PM Author Report #526813 Posted September 30, 2013 at 06:00 PM (edited) pois se calhar esta a faltar fazer a ligação.... aquilo que fiz foi carregar em add data source e fui arrastando os itens para as forms para inserir os dados... quando corro o projecto no visual C# resulta mas fora nao.... como e que se faz a ligação a base de dados? peso desculpa por ter questões básicas mas tudo o que sei sobre o assunto foi apreendido via youtube Edited September 30, 2013 at 06:01 PM by ladytf
bioshock Posted September 30, 2013 at 06:13 PM Report #526816 Posted September 30, 2013 at 06:13 PM https://wiki.portugal-a-programar.pt/dev_net/csharp/access/
ladytf Posted September 30, 2013 at 06:30 PM Author Report #526818 Posted September 30, 2013 at 06:30 PM tenho de colocar isso em todas as forms? ou basta colocar na 1ª?
bioshock Posted September 30, 2013 at 07:51 PM Report #526836 Posted September 30, 2013 at 07:51 PM Tens de o fazer em todos os forms que necessitas de conectividade à base de dados.
ladytf Posted September 30, 2013 at 08:04 PM Author Report #526841 Posted September 30, 2013 at 08:04 PM fica assim então? using System.Data.OleDb; namespace Oficina { public partial class Form1 : Form { string ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" + Application.StartupPath + "BD.mdb"; a minha base de dados chama-se DataBase1.accdb faço substituiçao onde diz BD.mdb??
bioshock Posted September 30, 2013 at 09:01 PM Report #526870 Posted September 30, 2013 at 09:01 PM Sim.
ladytf Posted September 30, 2013 at 09:17 PM Author Report #526884 Posted September 30, 2013 at 09:17 PM relativamente a parte Seleccionar, Inserir, Actualizar, Eliminar e mesmo necessário ou posso não por?
bioshock Posted October 1, 2013 at 06:20 PM Report #527068 Posted October 1, 2013 at 06:20 PM O que é que te parece?
ladytf Posted October 1, 2013 at 09:39 PM Author Report #527092 Posted October 1, 2013 at 09:39 PM Se soubesse não perguntava... ainda na consegui eliminar o erro... tendo em conta que aquilo que sei e com base no youtube vou questionar tudo o que me fizer duvidar
bioshock Posted October 1, 2013 at 10:12 PM Report #527096 Posted October 1, 2013 at 10:12 PM É uma questão de lógica e compreensão. Vais inserir algum registo? Então talvez precisas do método inserir. Vais eliminar algum registo? Então talvez precises do métod eliminar. Etc.
ladytf Posted October 2, 2013 at 09:57 AM Author Report #527156 Posted October 2, 2013 at 09:57 AM ok... existe algum que faça a funçao de consultar?? por exemplo... eu tenho uma janela de login.. e quero verificar se os dados estao ok... ate agora coloquei nele: using System.Data.OleDb; namespace Oficina { public partial class frmLogin : Form { string ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" + Application.StartupPath + "Database1.accdb"; e para verificar os dados tenho: private void button1_Click(object sender, EventArgs e) { int result = registoTableAdapter.FillByRegisto(database1DataSet.Registo, textBox1.Text, textBox2.Text); if (result == 1) { FrmcPrincipal frmp= new FrmcPrincipal(); frmp.Show(); this.Visible = false; } else{ MessageBox.Show("User ou senha invalida", "Ocorreu erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } } no entanto continua a dar o mesmo erro na instalaçao
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