none
Inserindo dados no Banco Sql Server Compact com C# RRS feed

  • Pergunta

  • Olá pessoal.

    Estou criando uma aplicação em c# com banco de dados SQL SERVER COMPACT, realizei todo o codigo correto, porem por algum motivo não esta salvando.

    Caso alguem possa me ajudar ficarei muito agradecido.

    Segue abaixo codigo usado.

    Arquivo Class:

     private string conexao_Sql = @"Data Source=|DataDirectory|\Banco.sdf";
            private string vsql = "";
            SqlCeConnection conexao = null;
            //Conexão com o Banco de Dados
            #region Conexão com o Banco
            private bool conectar()
            {
                conexao = new SqlCeConnection(conexao_Sql);
                try
                {
                    conexao.Open();
                    return true;
                }
                catch (Exception)
                {
                    return false;
                }
            }
            private bool desconectar()
            {
                if (conexao.State != ConnectionState.Closed)
                {
                    conexao.Close();
                    conexao.Dispose();
                    return true;
                }
                else
                {
                    conexao.Dispose();
                    return false;
                }
            }
            #endregion
    
            /*#########################
             * Novo Fornecedor
             *#########################
             */
            #region Novo Fornecedor
            public bool Novo_Fornecedor(ArrayList ArrayNovo)
            {
    
                vsql = "INSERT INTO FORNECEDORES ([NOME], ENDERECO, BAIRRO, MUNICIPIO, CEP, UF,EMAIL, TELEFONE, CELULAR, INSCRICAO, CNPJ, CONTATO, ENDERECO2, MUNICIPIO2, UF2, TELEFONE2, CELULAR2)" +
                       "VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
                SqlCeCommand command = null;
                if (this.conectar())
                {
                    try
                    {
                        command = new SqlCeCommand(vsql, conexao);
                        command.Parameters.AddWithValue("@NOME", ArrayNovo[0]);
                        command.Parameters.AddWithValue("@ENDERECO", ArrayNovo[1]);
                        command.Parameters.AddWithValue("@BAIRRO", ArrayNovo[2]);
                        command.Parameters.AddWithValue("@MUNICIPIO", ArrayNovo[3]);
                        command.Parameters.AddWithValue("@CEP", ArrayNovo[4]);
                        command.Parameters.AddWithValue("@UF", ArrayNovo[5]);   
                        command.Parameters.AddWithValue("@EMAIL", ArrayNovo[6]);
                        command.Parameters.AddWithValue("@TELEFONE", ArrayNovo[7]);                    
                        command.Parameters.AddWithValue("@CELULAR", ArrayNovo[8]);
                        command.Parameters.AddWithValue("@INSCRICAO", ArrayNovo[9]);
                        command.Parameters.AddWithValue("@CNPJ", ArrayNovo[10]);
                        command.Parameters.AddWithValue("@CONTATO", ArrayNovo[11]);
                        command.Parameters.AddWithValue("@ENDERECO2", ArrayNovo[12]);
                        command.Parameters.AddWithValue("@MUNICIPIO2", ArrayNovo[13]);
                        command.Parameters.AddWithValue("@UF2", ArrayNovo[14]);
                        command.Parameters.AddWithValue("@TELEFONE2", ArrayNovo[15]);
                        command.Parameters.AddWithValue("@CELULAR2", ArrayNovo[16]);
                        command.ExecuteNonQuery();
                        return true;
                    }
                    catch (SqlCeException erro)
                    {
                        throw erro;
                    }
                    finally
                    {
                        this.desconectar();
                    }
                }
                else
                {
                    return false;
                }
            }
            #endregion

    e codigo no botão para cadastro.

    Fornecedores New_Fornecedor = new Fornecedores();
                
                try
                {
                    ArrayList Array_Fornecedor = new ArrayList();
                    Array_Fornecedor.Add("Felipe");
                    Array_Fornecedor.Add("Rua 12");
                    Array_Fornecedor.Add("Meia Lua");
                    Array_Fornecedor.Add("Jacareí");
                    Array_Fornecedor.Add("12335-390");
                    Array_Fornecedor.Add("sp");
                    Array_Fornecedor.Add("felipe.ormedo@live.com");
                    Array_Fornecedor.Add("(12)3962-1733");
                    Array_Fornecedor.Add("(12)99790-1347");
                    Array_Fornecedor.Add("123454-33343");
                    Array_Fornecedor.Add("12.323.444\0001-01");
                    Array_Fornecedor.Add("Ormedo");
                    Array_Fornecedor.Add("Rua 4");
                    Array_Fornecedor.Add("Jaca");
                    Array_Fornecedor.Add("RJ");
                    Array_Fornecedor.Add("(12)3961-9535");
                    Array_Fornecedor.Add("(12)988243450");
    
                    if (New_Fornecedor.Novo_Fornecedor(Array_Fornecedor))
                    {
                        MessageBox.Show("Fornecedor Cadastrado com Sucesso!!!", "Sucesso", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    else
                    {
                        MessageBox.Show("Fornecedor não Cadastrado!!!", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                catch(Exception erro)
                {
                    MessageBox.Show("Erro" + erro);
                }

    muito obrigado pela ajuda...

    sexta-feira, 11 de abril de 2014 18:05

Respostas

  • Sua query está errada coloque em vez de ? o nome dos campos com @ por ex @NOME e não ?(interrogacao), faça igual no sql server mesmo.


    • Marcado como Resposta Giovani Cr sexta-feira, 11 de abril de 2014 18:49
    sexta-feira, 11 de abril de 2014 18:45