Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Oiq

[Resolvido] Erro ao conectar com o banco de dados Firebird

Recommended Posts

Boa tarde pessoal. Bom... eu estou faz um tempo desenvolvendo um projeto em C# utilizando o Microsoft Visual C# 2008 Express Edition e utilizo o Banco de dados Firebird. E o meu projeto estava funcionando corretamentamente,sem nenhum problema, ai eu fiquei uns dois dias sem mexer nele, e quando eu resolvi executa-lo novamente nao estava mais conectando com o banco de dados. Dá erro no Fbcn.Open();

 

Eu vou colar aqui todos os comandos que contem no form que esta dando erro

 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
using FirebirdSql.Data;
using FirebirdSql.Data.FirebirdClient;
using System.Windows.Forms;

namespace ARCOPRJ
{
    public partial class Form2 : Form
    {
        FbConnection fbcn = new FbConnection();
        FbConnectionStringBuilder fbcnsb = new FbConnectionStringBuilder();
        FbCommand fbcmd = new FbCommand();

        public Form2()
        {
            InitializeComponent();
            FormCloseButtonDisabler.DisableCloseButton(this.Handle.ToInt32());

        }

        private void Form2_Load(object sender, EventArgs e)
        {
            textBox1.Enabled = false;
            textBox2.Enabled = false;
            textBox3.Enabled = false;
            textBox4.Enabled = false;
            textBox5.Enabled = false;
            maskedTextBox1.Enabled = false;
            button1.Enabled = false;
            button2.Enabled = false;
            fbcnsb.Database = " C:\\TRABALHO\\FLUXO.FDB";
            fbcnsb.UserID = "SYSDBA";
            fbcnsb.Password = "masterkey";            
            fbcn.ConnectionString = fbcnsb.ConnectionString;
            fbcn.Open();
            fbcmd.CommandType = CommandType.Text;
            fbcmd.Connection = fbcn;          
                        
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if ((textBox1.Text == " ") && (textBox2.Text == " ") && (maskedTextBox1.Text == " ") && (textBox4.Text == " ") && (textBox4.Text == " ") && (textBox5.Text == " "))
            {   
                MessageBox.Show("Todos os campos estão vazio, para salvar é necessário que o novo pagamento contenha informações.");
            }
            int x;
            if (MessageBox.Show("Deseja salvar esse pagamento?", "Salvar", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {              
                x = Convert.ToInt32(textBox3.Text);
                fbcmd.CommandText = "insert into FLUXO (DIRETORIA_SUBSEDE,NOTA_FISCAL,VALOR,DATA,FORNECEDORES,DESCRICAO) values ('" + textBox1.Text + "'," + x + ",'" + textBox2.Text + "','" + maskedTextBox1.Text + "','" + textBox4.Text + "','" + textBox5.Text + "')";
                fbcmd.ExecuteNonQuery();
                MessageBox.Show("Cadastrado com sucesso!");
                textBox1.Clear();
                textBox2.Clear();
                maskedTextBox1.Clear();
                textBox3.Clear();
                textBox4.Clear();
                textBox5.Clear();
                textBox1.Enabled = false;
                textBox2.Enabled = false;
                maskedTextBox1.Enabled = false;
                textBox3.Enabled = false;
                textBox4.Enabled = false;
                textBox5.Enabled = false;
                button3.Enabled = true;
                button2.Enabled = false;
                button1.Enabled = false;
                button4.Enabled = true;
               
                                
            }


        }

        private void button2_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("Tem certeza que deseja cancelar essa ação?", "Cancelar", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                textBox1.Text = " ";
                textBox2.Text = " ";
                maskedTextBox1.Text = " ";
                textBox3.Text = " ";
                textBox4.Text = " ";
                textBox5.Text = " ";
                textBox1.Enabled = false;
                textBox2.Enabled = false;
                maskedTextBox1.Enabled = false;
                textBox3.Enabled = false;
                textBox4.Enabled = false;
                textBox5.Enabled = false;
                button3.Enabled = true;
                button1.Enabled = false;
                button2.Enabled = false;
                button4.Enabled = true;

            }
        }

        private void Form2_FormClosed(object sender, FormClosedEventArgs e)
        {
            fbcn.Close();
        }

        private void diretoriaSubsedeToolStripMenuItem_Click(object sender, EventArgs e)
        {
           Form3 newForm3 = new Form3();
            newForm3.ShowDialog();
        }

        private void notaFiscalToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Form4 newForm4 = new Form4();
            newForm4.ShowDialog();
        }

        private void dataToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Form5 newForm5 = new Form5();
            newForm5.ShowDialog();

        }

        private void button3_Click(object sender, EventArgs e)
        {
            button1.Enabled = true;
            button2.Enabled = true;
            button4.Enabled = false;
            button3.Enabled = false;
            textBox1.Enabled = true;
            textBox2.Enabled = true;
            maskedTextBox1.Enabled = true;
            textBox3.Enabled = true;
            textBox4.Enabled = true;
            textBox5.Enabled = true;
            textBox1.Focus();

        }

        private void todosPagamentosToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Form6 newForm6 = new Form6();
            newForm6.ShowDialog();

        }

        private void fornecedoresToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Form7 newForm7 = new Form7();
            newForm7.ShowDialog();
        }

        private void button4_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("Tem certeza que deseja sair?", "Sair", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                Application.Exit();
            }
        }

        private void diretoriaSubsedeToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            Form3 newForm3 = new Form3();
            newForm3.ShowDialog();
        }

        private void notaFiscalToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            Form4 newForm4 = new Form4();
            newForm4.ShowDialog();
        }

        private void dataToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            Form5 newForm5 = new Form5();
            newForm5.ShowDialog();

        }

        private void fornecedoresToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            Form7 newForm7 = new Form7();
            newForm7.ShowDialog();
        }

        private void todosOsPagamentosToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Form6 newForm6 = new Form6();
            newForm6.ShowDialog();
        }

        public class FormCloseButtonDisabler
        {

            private const int MF_BYPOSITION = 0x400;

            private const int MF_REMOVE = 0x1000;

            private const int MF_DISABLED = 0x2;

            [DllImport("user32.dll", EntryPoint = "DrawMenuBar")]

            static extern Int32 DrawMenuBar(

            Int32 hWnd

            );

            [DllImport("user32.dll", EntryPoint = "GetMenuItemCount")]

            static extern Int32 GetMenuItemCount(

            Int32 hMenu

            );

            [DllImport("user32.dll", EntryPoint = "GetSystemMenu")]

            static extern Int32 GetSystemMenu(

            Int32 hWnd,

            bool bRevert

            );

            [DllImport("user32.dll", EntryPoint = "RemoveMenu")]

            static extern Int32 RemoveMenu(

            Int32 hMenu,

            Int32 nPosition,

            Int32 wFlags

            );

            public static void DisableCloseButton(int hWnd)
            {

                int hMenu;

                int menuItemCount;

                //Obtain the handle to the form's system menu

                hMenu = GetSystemMenu(hWnd, false);

                // Get the count of the items in the system menu

                menuItemCount = GetMenuItemCount(hMenu);

                // Remove the close menuitem

                RemoveMenu(hMenu, menuItemCount - 1, MF_DISABLED | MF_BYPOSITION);

                // Remove the Separator

                RemoveMenu(hMenu, menuItemCount - 2, MF_DISABLED | MF_BYPOSITION);

                // redraw the menu bar

                DrawMenuBar(hWnd);

            }

        }

      
       

        
      
    }
}

 

Espero q voces possam me ajudar

obrigada desde já! :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas o estranho é que tava funcionando normal antes de para, e eu nao fiz alteração nenhuma! :s

aparece essa mensagem:

 

O índece estava fora do intervalo. Ele deve ser não negativo e menor que o tamanho da coleção.

Nome do parâmetro: index

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então no meu programa tem um Form de Login, ai quando eu coloco a senha correta ele abre outro form q é aonde usa a conexão. E quando eu digito a senha correta, o programa para de executa, e grifa a parte Fbcn.Open(); e mostra aquela mensagem que eu escrevi lá em cima.Eu tenho outros projetos utilizando a mesma forma de conexão e funciona normal

Só que esse do nada paro de pega. 00'

Compartilhar este post


Link para o post
Compartilhar em outros sites

ai agora eu fui testa os outros projetos que estavam funcionando corretamente e nao estao mais! :s

e dá o mesmo erro na mesma linha. oO'

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hje eu fui testa o meu programa de novo sem fazer nenhuma alteração e agora rodou! :s

eu nao sei oq q aconteceu, mas mto obrigada! :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.