none
ERRO "Não existe mapeamento do tipo objeto " " para um provedor gerenciado de tipo nativo RRS feed

  • Pergunta

  • Pessoal sou novo na programação, se alguém puder me ajudar agradeço, estou com esse erro e não sei como resolvê-lo. Ele aparece quando vou gravar dados de um form do meu projeto que ao não realizar o insert retorna essa mensagem de erro:

    Erro: é necessário declarar a variável escalar @hora_inicio – esse erro aparece indicando a linha 117.

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Data.SqlClient;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    
    namespace DesktopCSA
    {
        public partial class frmEntregacs : Form
        {
            public frmEntregacs()
            {
                InitializeComponent();
            }
    
            string sql;
            string sql1;
            SqlConnection conn;
            SqlCommand cmd_entrega;
            SqlCommand cmd_entrega1;
            int x1, x2, x3, x4, x5, x6;
    
            
            private const string tabela = "dbo.ponto_de_entrega";
    
            //Conexao con = new Conexao();
            //SqlDataAdapter dAdapter = new SqlDataAdapter();
            //DataSet en = new DataSet();
    
            //string sql;
            //string sql1;
            //SqlConnection con;
            //SqlCommand cmd;
            //SqlCommand cmd1;
            string manha_inicio = "08h";
            string manha_fim = "10h";
            string tarde_inicio = "14h";
            string tarde_fim = "17h";
            string noite_inicio = "18h";
            string noite_fim = "20h";
    
            private void frmEntregacs_Load(object sender, EventArgs e)
            {
                cmbEstado.SelectedIndex = 0;
                cmbLogradouroEntrega.SelectedIndex = 0;
                cmbLogradouroEntrega.SelectedIndex = 0;
                cmbHoraEntrega.SelectedIndex = 0;
    
            }
    
    
            private void btnSalvar_Click(object sender, EventArgs e)
            {
                String connectionString = "Data Source=LAPTOP-ACNDH1GL\\THIAGO;Initial Catalog=CSA;Persist Security Info=True;User ID=thiago;Password=1234567";
    
                String hora_entrega = cmbHoraEntrega.Text;
    
                SqlConnection conn = new SqlConnection(connectionString);
                SqlCommand cmd = new SqlCommand(sql, conn);
                SqlCommand cmd1_horafim = new SqlCommand(sql1, conn);
    
                //PERIODO DA MANHA
                if (cmbHoraEntrega.SelectedIndex == 0)
                {
    
                    sql1 = "insert into compra_cota(hora_inicio, hora_final)"
                    + "values (@hora_inicio, @hora_final)";
                    //conn = new SqlConnection(connectionString);
                    //cmd = new SqlCommand(sql, conn);
                    //cmd.CommandType = CommandType.Text;
                    //cmd1_horafim.CommandType = CommandType.Text;
                    //conn.Open();
    
                    
    
                    conn.Open();
                    x1 = cmd_entrega.ExecuteNonQuery();
                    x2 = cmd1_horafim.ExecuteNonQuery();
    
                    //insert x2
                    sql1 = "insert into compra_cota(hora_inicio, hora_final)"
                   + "values (@hora_inicio, @hora_final)";
                    conn = new SqlConnection(connectionString);
                    cmd_entrega = new SqlCommand(sql, conn);
                    cmd.CommandType = CommandType.Text;
                    cmd1_horafim.CommandType = CommandType.Text;
    
                    conn.Open();
                    x1 = cmd_entrega.ExecuteNonQuery();
                    x2 = cmd1_horafim.ExecuteNonQuery();
    
                    cmd_entrega.Parameters.AddWithValue("@nome_ponto", txtNomePonto.Text);
                    cmd_entrega.Parameters.AddWithValue("@ddd", txtDDD1.Text);
                    cmd_entrega.Parameters.AddWithValue("@telefone", txtTelPonto1);
                    cmd_entrega.Parameters.AddWithValue("@hora_inicio", manha_inicio);
                    cmd_entrega1.Parameters.AddWithValue("@hora_final", manha_fim);
                }
    
                //PERIODO DA TARDE
                if (cmbHoraEntrega.SelectedIndex == 1)
                {
    
                    sql1 = "insert into compra_cota(hora_inicio, hora_final)"
                    + "values (@hora_inicio, @hora_final)";
                    conn = new SqlConnection(connectionString);
                    cmd_entrega = new SqlCommand(sql1, conn);
                    cmd1_horafim = new SqlCommand(sql1, conn);
                    cmd_entrega.CommandType = CommandType.Text;
                    cmd1_horafim.CommandType = CommandType.Text;
                    conn.Open();
                    x3 = cmd_entrega.ExecuteNonQuery();
                    x4 = cmd1_horafim.ExecuteNonQuery();
    
                    cmd_entrega.Parameters.AddWithValue("@nome_ponto", txtNomePonto.Text);
                    cmd_entrega.Parameters.AddWithValue("@ddd", txtDDD1.Text);
                    cmd_entrega.Parameters.AddWithValue("@telefone", txtTelPonto1);
                    cmd_entrega.Parameters.AddWithValue("@hora_inicio", tarde_inicio);
                    cmd1_horafim.Parameters.AddWithValue("@hora_final", tarde_fim);
    
                    //conn.Open();
                    
                }
    
    
                //PERIODO DA NOITE
                if (cmbHoraEntrega.SelectedIndex == 2)
                {
    
                    sql1 = "insert into compra_cota(hora_inicio, hora_final)"
                    + "values (@hora_inicio, @hora_final)";
                    conn = new SqlConnection(connectionString);
                    cmd_entrega = new SqlCommand(sql1, conn);
                    cmd1_horafim = new SqlCommand(sql1, conn);
                    cmd_entrega.CommandType = CommandType.Text;
                    cmd1_horafim.CommandType = CommandType.Text;
                    conn.Open();
    
                    cmd_entrega.Parameters.AddWithValue("@nome_ponto", txtNomePonto.Text);
                    cmd_entrega.Parameters.AddWithValue("@ddd", txtDDD1.Text);
                    cmd_entrega.Parameters.AddWithValue("@telefone", txtTelPonto1);
                    cmd_entrega.Parameters.AddWithValue("@hora_inicio", noite_inicio);
                    cmd1_horafim.Parameters.AddWithValue("@hora_final", noite_fim);
    
                    //conn.Open();
                    x5 = cmd_entrega.ExecuteNonQuery();
                    x6 = cmd1_horafim.ExecuteNonQuery();
                }
    
                try
                    {
                     int i = cmd_entrega.ExecuteNonQuery();
                     int j = cmd1_horafim.ExecuteNonQuery();
                     if (i > 0) ;
                    if (j > 0) ;
    
    
                }
                catch (Exception ex)
                    {
                        MessageBox.Show("Erro: " + ex.ToString());
                    }
                    finally
                    {
                        conn.Close();
    
                        Close();
                    }
                
            /*(Convert.ToInt16(cmbHoraEntrega) cmbHoraEntrega.SelectedIndex = 1)*/
    
               sql = "insert into ponto_de_entrega(nome_ponto, ddd, telefone, ddd_2, telefone_2, logradouro, endereco, bairro, cidade, estado)"
    
                + "values (@nome_ponto, @ddd, @telefone, @ddd_2, @telefone_2, @logradouro, @endereco, @bairro, @cidade, @estado)";
    
                sql1 = "insert into compra_cota(hora_inicial, hora_final)"
                    + "values (@hora_inicial, @hora_final)";
    
                //String connectionString = "Data Source=LAPTOP-ACNDH1GL\\THIAGO; Initial Catalog=CSA; Persist Security Info=True;User ID=thiago;Password=1234567";
    
    
                SqlConnection con = new SqlConnection(connectionString);
                cmd = new SqlCommand(sql, con);
                cmd = new SqlCommand( sql1,con);
    
                cmd.Parameters.AddWithValue("@nome_ponto", txtNomePonto.Text);
                cmd.Parameters.AddWithValue("@ddd", txtDDD1.Text);
                cmd.Parameters.AddWithValue("@telefone", txtTelPonto1.Text);
                cmd.Parameters.AddWithValue("@ddd_2", txtDDD2.Text);
                cmd.Parameters.AddWithValue("@telefone_2", txtTelPonto2.Text);
                cmd.Parameters.AddWithValue("@logradouro", cmbLogradouroEntrega.Text);
                cmd.Parameters.AddWithValue("@endereco", txtEnderecoEntrega.Text);
                cmd.Parameters.AddWithValue("@bairro", txtBairroEntrega.Text);
                cmd.Parameters.AddWithValue("@cidade", txtCidadeEntrega.Text);
                cmd.Parameters.AddWithValue("@estado", cmbEstado.Text);
    
                cmd.CommandType = CommandType.Text;
                con.Open();
    
                try
                {
                    int i = cmd.ExecuteNonQuery();
                    if (i > 0) ;
                    MessageBox.Show("Cadastro realizado com sucesso ");
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Erro: " + ex.ToString());
                }
                finally
                {
                    con.Close();
    
                    Close();
                }
    
            }
    
      
        }
    }
    

    domingo, 15 de novembro de 2020 11:41

Todas as Respostas

  • Ola,

    Você tem que declarar hora_inicio como você declarou os strings abaixo, mais se o compilador esta pedindo variável, você teria que suar var hora_inicio 

      string manha_inicio = "08h";
            string manha_fim = "10h";
            string tarde_inicio = "14h";
            string tarde_fim = "17h";
            string noite_inicio = "18h";
            string noite_fim = "20h";
            var hora_inicio       < ---- Tipo assim
    segunda-feira, 16 de novembro de 2020 14:20
    Moderador