none
não consigo gravar no banco, ele diz que minha chave primaria nao foi declarada RRS feed

  • Pergunta

  • não consigo me gravar os dados no banco, ele diz que o result_int_cpf não doi declarado

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using alscorh.entidades;
    using System.Data.SqlClient;
    using System.Text;
    using System.Data;
    using System.Collections;
    using alscorh.dao;
    using System.String;


    /// <summary>
    /// Summary description for RhResultadoDAO
    /// </summary>
    namespace alscorh.dao
    {
        public class RhResultadoDAO
        {

            /// <summary>
            /// Inclui um RhResultado
            /// </summary>
            /// <param name="listResp">RhResultado</param>
            /// <returns>Quantidade de registros alterados no banco de dados</returns>
            public int AddRhResultado(RhResultado resultado)
            {
                SqlConnection con = null;
                SqlCommand cmd = null;
                
                int nRet = 0;

                try
                {
                    con = Conexao.CriarConexao();
                    con.Open();

                    StringBuilder sSql = new StringBuilder();
                    sSql.Append("insert into tb_rh_resultado (");
                    sSql.Append("result_int_cpf, ");
                    sSql.Append("result_txt_parecer, ");
                    sSql.Append("result_txt_motivorh, ");
                    sSql.Append("result_txt_assirh, ");
                    sSql.Append("result_dat_datarh, ");
                    sSql.Append("result_txt_motivoreq, ");
                    sSql.Append("result_txt_assreq, ");
                    sSql.Append("result_dat_datareq )");
                    sSql.Append("values(");
                    sSql.Append("@result_int_cpf, ");
                    sSql.Append("@result_txt_parecer, ");
                    sSql.Append("@result_txt_motivorh, ");
                    sSql.Append("@result_txt_assirh, ");
                    sSql.Append("@result_dat_datarh, ");
                    sSql.Append("@result_txt_motivoreq, ");
                    sSql.Append("@result_txt_assreq, ");
                    sSql.Append("@result_dat_datareq ");
                    

                    cmd = new SqlCommand(sSql.ToString(), con);
                    cmd.ExecuteNonQuery();


                }
                catch (Exception ex)
                {
                    throw ex;
                }
                finally
                {
                    if (con != null && con.State == System.Data.ConnectionState.Open)
                    {
                        con.Close();
                    }

                    con = null;
                }

                return nRet;
            }

            public int UpdRhResultado(RhResultado resultado)
            {
                SqlConnection con = null;
                SqlCommand cmd = null;
                
                int nRet = 0;

                try
                {
                    con = Conexao.CriarConexao();
                    con.Open();
                    

                    StringBuilder sSql = new StringBuilder();
                    sSql.Append("update tb_rh_resultado set ");
                    sSql.Append("result_int_cpf         =@result_int_cpf        , ");
                    sSql.Append("result_txt_parecer     =@result_txt_parecer    , ");
                    sSql.Append("result_txt_motivorh    =@result_txt_motivorh   , ");
                    sSql.Append("result_txt_assirh      =@result_txt_assirh     , ");
                    sSql.Append("result_dat_datarh      =@result_dat_datarh     , ");
                    sSql.Append("result_txt_motivoreq   =@result_txt_motivoreq  , ");
                    sSql.Append("result_txt_assreq      =@result_txt_assreq     , ");
                    sSql.Append("result_dat_datareq     =@result_dat_datareq");
                    sSql.Append("where result_int_cpf=@result_int_cpf ");

                    cmd = new SqlCommand(sSql.ToString(), con);
                    
                }

                catch (Exception ex)
                {
                    
                    throw ex;
                }
                finally
                {
                    if (con != null && con.State == System.Data.ConnectionState.Open)
                    {
                        con.Close();
                    }

                    con = null;
                    
                }

                return nRet;
            

           
            }
        
    }
    }              

    terça-feira, 17 de julho de 2012 12:21

Respostas

  • verifique na sua tabela se sua chave primaria esta configurada como identity 

    Caso a resposta seja útil ou responda sua questão, colabore marcando-a como resposta ou como útil.

    • Sugerido como Resposta RobsonGmack quinta-feira, 19 de julho de 2012 15:08
    • Marcado como Resposta welington jrModerator quinta-feira, 24 de agosto de 2017 12:53
    quinta-feira, 19 de julho de 2012 15:08

Todas as Respostas

  • verifique na sua tabela se sua chave primaria esta configurada como identity 

    Caso a resposta seja útil ou responda sua questão, colabore marcando-a como resposta ou como útil.

    • Sugerido como Resposta RobsonGmack quinta-feira, 19 de julho de 2012 15:08
    • Marcado como Resposta welington jrModerator quinta-feira, 24 de agosto de 2017 12:53
    quinta-feira, 19 de julho de 2012 15:08
  • Tenta fazer assim:

    Se for do tipo Identity, é melhor retirar do INSERT, pois ocorre erro na chave.

    quinta-feira, 7 de janeiro de 2016 18:55
  • Se o campo tiver como IDENTITY não será possível fazer o INSERT explícito. 

    Caso seja necessário fazer isso, pode usar a instrução "SET IDENTITY_INSERT tb_rh_resultado ON" para permitir inserir dados com a coluna IDENTITY explicitamente. Para voltar essa configuração, executa o mesmo comando, alterando o ON para OFF

    Essa é uma prática recomendada para casos específicos, em caso de real necessidade. O ideal mesmo é não explicitar o campo no INSERT.

    • Sugerido como Resposta MarcosLanzarini terça-feira, 12 de janeiro de 2016 13:34
    segunda-feira, 11 de janeiro de 2016 13:23