Ir para conteúdo

POWERED BY:

Arquivado

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

m3oliveira

[Resolvido] Erro ao gravar Dados - Postgre

Recommended Posts

Bom dia!

Estou criando um pequeno sistema a nivel de aprendizado, utilizando VS2008 - C#, Windows Form Com postgreSQL utilizando o Npgsql.

 

Tabela:

CREATE TABLE medico

(

idmedico serial NOT NULL,

nomemedico character(100) NOT NULL,

crm character(9) NOT NULL,

CONSTRAINT medico_pk PRIMARY KEY (idmedico)

)

 

Metodo de Inclusão:

 

public void incluir(Medico med) 
       {
           NpgsqlConnection con = new NpgsqlConnection();

           try
           {
               con.ConnectionString = "Server=127.0.0.1;Port=5432;Database=consultorio;User Id=moises;Password=moises";
               NpgsqlCommand cmd = new NpgsqlCommand();
               cmd.Connection = con;

               cmd.CommandText = "insert into medico(nomemedico,crm) values (@Nome,@Crm)";
               cmd.Parameters.AddWithValue("@Nome", med.NomeMedico);
               cmd.Parameters.AddWithValue("@Crm", med.Crm);

               con.Open();
               cmd.ExecuteNonQuery();
           }
           catch (Exception ex)
           {
               throw new Exception(ex.Message);
           }
           finally
           {
               con.Close();
           }
       }

 

Botão Salvar:

 

private void btSalvar_Click(object sender, EventArgs e)
       {
           if (txtNome.Text == String.Empty)
           {
               MessageBox.Show("Campo nome deve ser preenchido");
               txtNome.Focus();
           }
           else if (txtCrm.Text == String.Empty)
           {
               MessageBox.Show("Camo Crm deve ser preenchido");
               txtCrm.Focus();
           }
           else
           {
               Medico medico = new Medico();
               medico.NomeMedico = txtNome.Text;
               medico.Crm = txtCrm.Text;

               MedicoDAL obj = new MedicoDAL();
               obj.incluir(medico);
               MessageBox.Show("Cadastrado com Sucesso!");
           }
       }

 

Bom, os dados são gravados Normalmente no banco de dados, do jeitinho que informo. Porém, Sempre exibe uma exceção dizendo:

Input string was not in a corret format.

 

Ja recomeçei a aplicação do zero e não consigo de forma alguma identificar o porque dessa mensagem, como disse, tudo é gravado normalmente,

porém da essa mensagem e não mostra a mensagem de cadastrado com sucesso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estranho, ja debugou pra ver em qual linha ele acusa o erro?

 

Abraços...

 

Ja havia feito de tudo quintelab, ja resolvi o problema. Após muitos testes e até mesmo o recomeço do projeto do zero, sem solução aparente, resolvi fazer com o SqlServer2005 express, ao invés do postgreSQL. Ao abrir o SqlServer Management studio express, eis que aparece o mesmo erro. Ai percebi que não tinha nada com a aplicação. Procurei e encontrei a solução no suporte da microsoft. Removi uma chave de registro que foi pedido e o problema foi resolvido. Agora posso dar continuidade ao projeto.

 

Mesmo assim obrigado, tenho certeza que surgirão mais duvidas e estarei novamente postando aqui.

Abraço!

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.