none
Problema parametro SqlComand RRS feed

  • Pergunta

  • como faço pra adicionar um parametro em um SqlComand?
    ja tentei de varias formas e todas deram erro de sql

    sql.CommandText = "Select * from Usuario where login = @login;"
    sql.Parameters.AddWithValue(":login", SqlDbType.VarChar).Value = texto;

    sql.CommandText = "Select * from Usuario where login = :login;"
    sql.Parameters.AddWithValue(":login", SqlDbType.VarChar).Value = texto;
     
    sql.CommandText = "Select * from Usuario where login = ?;"
    sql.Parameters.AddWithValue("login", SqlDbType.VarChar).Value = texto


    BrunoAlisson
    domingo, 8 de fevereiro de 2009 01:59

Respostas




  • Segue exemplo para utilização de Parameters no SqlCommand:

            '        'Tabela PESSOAEND * COMERCIAL  ***********************************************************************************  
     
            '        'SE HÁ VALOR NO drAccess(16) (EndCom) ENTAO INSERE REGISTRO! APENAS SE HOUVER ESTE VALOR!  
            '        If Not IsDBNull(drAccess(16)) Then  
     
            '            ' SQL ENDERECO COMERCIAL  
            '            Dim cmd_EnderecoComercial As New SqlCommand("INSERT into PessoaEnd (PEN_PE_ID, PEN_PTE_ID, PEN_Endereco, PEN_Bairro, PEN_Cidade, PEN_UF, PEN_CEP, PEN_Fone, PEN_Fone2, PEN_E_Mail, PEN_E_Mail2) values (@ID_Pessoa, @PEN_PTE_ID_COMERC, @EnderecoComerc, @BairroComerc, @CidadeComerc, @UF_Comerc, @CEP_Comerc, @FoneComerc, @FoneComerc2, @E_mail1_Comerc, @E_mail2_Comerc);", connSQL)  
     
            '            'guarda o PE_ID gerado pela tabela Pessoa(Tabela PAI)  
            '            cmd_EnderecoComercial.Parameters.AddWithValue("@ID_Pessoa", ID_Pessoa)  
     
            '            Dim PEN_PTE_ID_Comerc As Integer = 2 
            '            cmd_EnderecoComercial.Parameters.AddWithValue("@PEN_PTE_ID_COMERC", 2)  
     
            '            'guarda o endereço comercial existente  
            '            cmd_EnderecoComercial.Parameters.AddWithValue("@EnderecoComerc", drAccess(16))  
     
     
            '            Dim BairroComercial As New OleDbCommand("SELECT Nome FROM(tblBairros) WHERE (CodBairro = @CodBairroCom)", connAccess)  
            '            BairroComercial.Parameters.AddWithValue("@CodBairroCom", drAccess(17).ToString())  
     
            '            Dim daBairroComerc As New OleDbDataAdapter(BairroComercial)  
     
            '            Dim dsSetBairroComerc As New DataSet  
     
            '            'preenche o dataset   
            '            daBairroComerc.Fill(dsSetBairroComerc)  
            '            ', "tblBairros")  
     
            '            Dim BairroComerc As StringString = String.Empty  
            '            Dim drBairroComerc As DataRow  
            '            For Each drBairroComerc In dsSetBairroComerc.Tables(0).Rows  
            '                BairroComerc = drBairroComerc(0).ToString()  
     
            '            Next drBairroComerc  
     
     
            '            If BairroComerc Is System.DBNull.Value OrElse String.IsNullOrEmpty(BairroComerc) Then  
            '                '   Se entrou no IF, o BairroComerc não é válido.  
            '                cmd_EnderecoComercial.Parameters.AddWithValue("@BairroComerc", DBNull.Value)  
            '            Else  
            '                cmd_EnderecoComercial.Parameters.AddWithValue("@BairroComerc", BairroComerc)  
            '            End If  
     
     
            '            Dim CidadeComercial As New OleDbCommand("SELECT Nome FROM(tblCidades) WHERE (CodCidade = @CodCidadeCom)", connAccess)  
            '            CidadeComercial.Parameters.AddWithValue("@CodCidadeCom", drAccess(18).ToString())  
     
            '            Dim daCidadeComerc As New OleDbDataAdapter(CidadeComercial)  
     
            '            Dim dsSetCidadeComerc As New DataSet  
     
            '            'preenche o dataset   
            '            daCidadeComerc.Fill(dsSetCidadeComerc)  
            '            ', "tblCidades")  
     
            '            Dim CidadeComerc As StringString = String.Empty  
            '            Dim drCidadeComerc As DataRow  
            '            For Each drCidadeComerc In dsSetCidadeComerc.Tables(0).Rows  
            '                CidadeComerc = drCidadeComerc(0).ToString()  
     
            '            Next drCidadeComerc  
     
            '            If CidadeComerc Is System.DBNull.Value OrElse String.IsNullOrEmpty(CidadeComerc) Then  
     
            '                '   Se entrou no IF, o CidadeComerc não é válido.  
            '                cmd_EnderecoComercial.Parameters.AddWithValue("@CidadeComerc", DBNull.Value)  
            '            Else  
            '                cmd_EnderecoComercial.Parameters.AddWithValue("@CidadeComerc", CidadeComerc)  
            '            End If  
     
     
            '            Dim UF_Comercial As New OleDbCommand("SELECT Nome FROM(tblUFs) WHERE (CodUF = @CodUFCom)", connAccess)  
            '            UF_Comercial.Parameters.AddWithValue("@CodUFCom", drAccess(19).ToString())  
     
            '            Dim daUF_Comerc As New OleDbDataAdapter(UF_Comercial)  
     
            '            Dim dsSetUF_Comerc As New DataSet  
     
            '            'preenche o dataset   
            '            daUF_Comerc.Fill(dsSetUF_Comerc)  
            '            ', "tblUFs")  
     
            '            Dim UF_Comerc As StringString = String.Empty  
            '            Dim drUF_Comerc As DataRow  
            '            For Each drUF_Comerc In dsSetUF_Comerc.Tables(0).Rows  
            '                UF_Comerc = drUF_Comerc(0).ToString()  
     
            '            Next drUF_Comerc  
     
     
            '            If UF_Comerc Is System.DBNull.Value OrElse String.IsNullOrEmpty(UF_Comerc) Then  
            '                '   Se entrou no IF, o UF_Comerc não é válido.  
            '                cmd_EnderecoComercial.Parameters.AddWithValue("@UF_Comerc", DBNull.Value)  
            '            Else  
            '                cmd_EnderecoComercial.Parameters.AddWithValue("@UF_Comerc", UF_Comerc)  
            '            End If  
     
     
            '            Dim CEP_Comercial As New OleDbCommand("SELECT Nome FROM(tblCEPs) WHERE (CodCEP = @CodCEPCom)", connAccess)  
            '            CEP_Comercial.Parameters.AddWithValue("@CodCEPCom", drAccess(20).ToString())  
     
            '            Dim daCEP_Comerc As New OleDbDataAdapter(CEP_Comercial)  
     
            '            Dim dsSetCEP_Comerc As New DataSet  
     
            '            'preenche o dataset   
            '            daCEP_Comerc.Fill(dsSetCEP_Comerc)  
            '            ', "tblCEPs")  
     
            '            Dim CEP_Comerc As StringString = String.Empty  
            '            Dim drCEP_Comerc As DataRow  
            '            For Each drCEP_Comerc In dsSetCEP_Comerc.Tables(0).Rows  
     
            '                CEP_Comerc = drCEP_Comerc(0).ToString()  
            '                CEP_ComercCEP_Comerc = CEP_Comerc.Replace("-", "")  
     
            '                'MsgBox(CEP_Comerc, MsgBoxStyle.Information)  
     
            '            Next drCEP_Comerc  
     
            '            If CEP_Comerc Is System.DBNull.Value OrElse String.IsNullOrEmpty(CEP_Comerc) Then  
     
            '                '   Se entrou no IF, o CEP_Comerc não é válido.  
            '                cmd_EnderecoComercial.Parameters.AddWithValue("@CEP_Comerc", DBNull.Value)  
            '            Else  
            '                cmd_EnderecoComercial.Parameters.AddWithValue("@CEP_Comerc", Convert.ToInt32(CEP_Comerc))  
     
            '            End If  
     
     
            '            If drAccess(21) Is System.DBNull.Value OrElse String.IsNullOrEmpty(drAccess(21)) Then  
     
            '                '  Se entrou no IF, o FoneComerc não é válido.  
            '                cmd_EnderecoComercial.Parameters.AddWithValue("@FoneComerc", DBNull.Value)  
            '            Else  
            '                cmd_EnderecoComercial.Parameters.AddWithValue("@FoneComerc", drAccess(21))  
            '            End If  
     
     
            '            If drAccess(22) Is System.DBNull.Value OrElse String.IsNullOrEmpty(drAccess(22)) Then  
     
            '                ' Se entrou no IF, o FoneComerc2 não é válido.  
            '                cmd_EnderecoComercial.Parameters.AddWithValue("@FoneComerc2", DBNull.Value)  
     
            '            Else  
            '                '   Existe(conteudo)  
            '                cmd_EnderecoComercial.Parameters.AddWithValue("@FoneComerc2", drAccess(22))  
            '            End If  
     
     
     
            '            'DUPLICACAO DOS EMAILS ****************************************************************************************************  
     
            '            If drAccess(14) Is System.DBNull.Value OrElse String.IsNullOrEmpty(drAccess(14)) Then  
     
            '                '  Se entrou no IF, o Email1 não é válido.  
            '                cmd_EnderecoComercial.Parameters.AddWithValue("@E_mail1_Comerc", DBNull.Value)  
            '            Else  
            '                cmd_EnderecoComercial.Parameters.AddWithValue("@E_mail1_Comerc", drAccess(14))  
     
            '            End If  
     
     
            '            If drAccess(15) Is System.DBNull.Value OrElse String.IsNullOrEmpty(drAccess(15)) Then  
     
            '                ' Se entrou no IF, o Email2 não é válido.  
            '                cmd_EnderecoComercial.Parameters.AddWithValue("@E_mail2_Comerc", DBNull.Value)  
            '            Else  
            '                cmd_EnderecoComercial.Parameters.AddWithValue("@E_mail2_Comerc", drAccess(15))  
            '            End If  
     
     
            '            Dim daSQL_EnderecoComercial As New SqlDataAdapter(cmd_EnderecoComercial)  
     
            '            'preenche o dataset   
            '            daSQL_EnderecoComercial.Fill(dsSetSQL_EnderecoComercial)  
     
     
            '        End If 



     Segue um exemplo para inserção numa base Sql Server 2005:

     

    1 'INSER€AO DOS DADOS EM PROCESSO DE MIGRA€ÇO PARA BASE SQL SERVER  
    2  
    3 Dim cmd As New SqlCommand("INSERT into Pessoa (PE_Nome, PE_Sobrenome, PE_Sexo, PE_Nascimento, PE_LocalNascimento, PE_EC_ID, PE_DtEstadoCivil, PE_Antigo) values (@Nome, @sobreNome, @Sexo, @Nascimento, @LocalNascimento, @EstCivID, @DtEstadoCivil, @Antigo)", connSQL)  
    4  
    5 cmd.Parameters.AddWithValue("@Nome", Nome.ToString)  
    6  
    7 cmd.Parameters.AddWithValue("@sobreNome", sobreNome.ToString)  
    8  
    9 cmd.Parameters.AddWithValue("@Sexo", drAccess(1).ToString())  
    10  
    11 cmd.Parameters.AddWithValue("@Nascimento", Convert.ToDateTime(drAccess(2)))  
    12  
    13 cmd.Parameters.AddWithValue("@LocalNascimento", LocalNasc.ToString)  
    14  
    15    
    16  
    17 If (DtEstadoCivil.HasValue) Then   
    18  
    19 cmd.Parameters.AddWithValue("@EstCivID", EstadoCivil)  
    20  
    21 Else  
    22  
    23 cmd.Parameters.AddWithValue("@EstCivID", DBNull.Value)  
    24  
    25 End If  
    26  
    27    
    28  
    29 If (DtEstadoCivil.HasValue) Then  
    30  
    31 'foi informado o valor do campo DtEstadoCivil  
    32  
    33 cmd.Parameters.AddWithValue("@DtEstadoCivil", Convert.ToDateTime(DtEstadoCivil))  
    34  
    35 Else  
    36  
    37 'NÇO foi informado nenhum valor para o campo DtEstadoCivil   
    38  
    39 cmd.Parameters.AddWithValue("@DtEstadoCivil", DBNull.Value)  
    40  
    41 End If  
    42  
    43    
    44  
    45 cmd.Parameters.AddWithValue("@Antigo", drAccess(6).ToString())  
    46  
    47  




    Algumas dicas para complementar:

    Sugiro pesquisar mais sobre ADO.NET e acesso a dados para você conseguir trabalhar melhor com dados e tratamento dos mesmos, para te aperfeiçoar.

    Para este ou qualquer outro assunto antes de perguntar, sempre pesquise antes, pois quanto mais informado estiver sobre algo, melhor será para resolver seu caso específico/situação.

    Se ainda assim persistir a dúvida, então pergunte aqui no fórum, pode haver alguém que consiga atender suas dúvidas.


    Links para implementar acesso & BD:

    http://www.macoratti.net/indbusca.htm (pesquise nesse link, bastante conteúdo)

    http://www.macoratti.net/aspn_bdb.htm

    http://www.macoratti.net/08/11/c_sql_m1.htm



    Links relacionados com Parâmetros:


    Data Access With ADO.NET

    http://authors.aspalliance.com/stevesmith/articles/dotnetdataaccess.asp


    http://www.cs.odu.edu/~wild/cs477/spring04/adonet.htm


    http://social.msdn.microsoft.com/Search/pt-BR/?query=sqlcommand%20parameters&ac=3


    http://dotnetfacts.blogspot.com/2009/01/adonet-command-parameters.html

    http://www.csharp-station.com/Tutorials/AdoDotNet/Lesson06.aspx

    http://www.csharp-station.com/Tutorials/AdoDotNet/Lesson03.aspx

    http://www.informit.com/articles/article.aspx?p=764095&seqNum=2

    http://search.techrepublic.com.com/search/sqlcommand.html

    http://articles.techrepublic.com.com/5100-10878_11-6095080.html



    Para implementar usando stored procedures:

    http://social.msdn.microsoft.com/forums/pt-BR/vscsharppt/thread/16cefb4c-5055-4023-b3c8-9b1546229b93/



    Abraços, Bons estudos! 



    Magno Machado Borba |- Se o post foi util ou resposta nao esqueca de marcar.
    • Marcado como Resposta BrunoAlisson terça-feira, 10 de fevereiro de 2009 15:36
    segunda-feira, 9 de fevereiro de 2009 17:06

Todas as Respostas




  • Segue exemplo para utilização de Parameters no SqlCommand:

            '        'Tabela PESSOAEND * COMERCIAL  ***********************************************************************************  
     
            '        'SE HÁ VALOR NO drAccess(16) (EndCom) ENTAO INSERE REGISTRO! APENAS SE HOUVER ESTE VALOR!  
            '        If Not IsDBNull(drAccess(16)) Then  
     
            '            ' SQL ENDERECO COMERCIAL  
            '            Dim cmd_EnderecoComercial As New SqlCommand("INSERT into PessoaEnd (PEN_PE_ID, PEN_PTE_ID, PEN_Endereco, PEN_Bairro, PEN_Cidade, PEN_UF, PEN_CEP, PEN_Fone, PEN_Fone2, PEN_E_Mail, PEN_E_Mail2) values (@ID_Pessoa, @PEN_PTE_ID_COMERC, @EnderecoComerc, @BairroComerc, @CidadeComerc, @UF_Comerc, @CEP_Comerc, @FoneComerc, @FoneComerc2, @E_mail1_Comerc, @E_mail2_Comerc);", connSQL)  
     
            '            'guarda o PE_ID gerado pela tabela Pessoa(Tabela PAI)  
            '            cmd_EnderecoComercial.Parameters.AddWithValue("@ID_Pessoa", ID_Pessoa)  
     
            '            Dim PEN_PTE_ID_Comerc As Integer = 2 
            '            cmd_EnderecoComercial.Parameters.AddWithValue("@PEN_PTE_ID_COMERC", 2)  
     
            '            'guarda o endereço comercial existente  
            '            cmd_EnderecoComercial.Parameters.AddWithValue("@EnderecoComerc", drAccess(16))  
     
     
            '            Dim BairroComercial As New OleDbCommand("SELECT Nome FROM(tblBairros) WHERE (CodBairro = @CodBairroCom)", connAccess)  
            '            BairroComercial.Parameters.AddWithValue("@CodBairroCom", drAccess(17).ToString())  
     
            '            Dim daBairroComerc As New OleDbDataAdapter(BairroComercial)  
     
            '            Dim dsSetBairroComerc As New DataSet  
     
            '            'preenche o dataset   
            '            daBairroComerc.Fill(dsSetBairroComerc)  
            '            ', "tblBairros")  
     
            '            Dim BairroComerc As StringString = String.Empty  
            '            Dim drBairroComerc As DataRow  
            '            For Each drBairroComerc In dsSetBairroComerc.Tables(0).Rows  
            '                BairroComerc = drBairroComerc(0).ToString()  
     
            '            Next drBairroComerc  
     
     
            '            If BairroComerc Is System.DBNull.Value OrElse String.IsNullOrEmpty(BairroComerc) Then  
            '                '   Se entrou no IF, o BairroComerc não é válido.  
            '                cmd_EnderecoComercial.Parameters.AddWithValue("@BairroComerc", DBNull.Value)  
            '            Else  
            '                cmd_EnderecoComercial.Parameters.AddWithValue("@BairroComerc", BairroComerc)  
            '            End If  
     
     
            '            Dim CidadeComercial As New OleDbCommand("SELECT Nome FROM(tblCidades) WHERE (CodCidade = @CodCidadeCom)", connAccess)  
            '            CidadeComercial.Parameters.AddWithValue("@CodCidadeCom", drAccess(18).ToString())  
     
            '            Dim daCidadeComerc As New OleDbDataAdapter(CidadeComercial)  
     
            '            Dim dsSetCidadeComerc As New DataSet  
     
            '            'preenche o dataset   
            '            daCidadeComerc.Fill(dsSetCidadeComerc)  
            '            ', "tblCidades")  
     
            '            Dim CidadeComerc As StringString = String.Empty  
            '            Dim drCidadeComerc As DataRow  
            '            For Each drCidadeComerc In dsSetCidadeComerc.Tables(0).Rows  
            '                CidadeComerc = drCidadeComerc(0).ToString()  
     
            '            Next drCidadeComerc  
     
            '            If CidadeComerc Is System.DBNull.Value OrElse String.IsNullOrEmpty(CidadeComerc) Then  
     
            '                '   Se entrou no IF, o CidadeComerc não é válido.  
            '                cmd_EnderecoComercial.Parameters.AddWithValue("@CidadeComerc", DBNull.Value)  
            '            Else  
            '                cmd_EnderecoComercial.Parameters.AddWithValue("@CidadeComerc", CidadeComerc)  
            '            End If  
     
     
            '            Dim UF_Comercial As New OleDbCommand("SELECT Nome FROM(tblUFs) WHERE (CodUF = @CodUFCom)", connAccess)  
            '            UF_Comercial.Parameters.AddWithValue("@CodUFCom", drAccess(19).ToString())  
     
            '            Dim daUF_Comerc As New OleDbDataAdapter(UF_Comercial)  
     
            '            Dim dsSetUF_Comerc As New DataSet  
     
            '            'preenche o dataset   
            '            daUF_Comerc.Fill(dsSetUF_Comerc)  
            '            ', "tblUFs")  
     
            '            Dim UF_Comerc As StringString = String.Empty  
            '            Dim drUF_Comerc As DataRow  
            '            For Each drUF_Comerc In dsSetUF_Comerc.Tables(0).Rows  
            '                UF_Comerc = drUF_Comerc(0).ToString()  
     
            '            Next drUF_Comerc  
     
     
            '            If UF_Comerc Is System.DBNull.Value OrElse String.IsNullOrEmpty(UF_Comerc) Then  
            '                '   Se entrou no IF, o UF_Comerc não é válido.  
            '                cmd_EnderecoComercial.Parameters.AddWithValue("@UF_Comerc", DBNull.Value)  
            '            Else  
            '                cmd_EnderecoComercial.Parameters.AddWithValue("@UF_Comerc", UF_Comerc)  
            '            End If  
     
     
            '            Dim CEP_Comercial As New OleDbCommand("SELECT Nome FROM(tblCEPs) WHERE (CodCEP = @CodCEPCom)", connAccess)  
            '            CEP_Comercial.Parameters.AddWithValue("@CodCEPCom", drAccess(20).ToString())  
     
            '            Dim daCEP_Comerc As New OleDbDataAdapter(CEP_Comercial)  
     
            '            Dim dsSetCEP_Comerc As New DataSet  
     
            '            'preenche o dataset   
            '            daCEP_Comerc.Fill(dsSetCEP_Comerc)  
            '            ', "tblCEPs")  
     
            '            Dim CEP_Comerc As StringString = String.Empty  
            '            Dim drCEP_Comerc As DataRow  
            '            For Each drCEP_Comerc In dsSetCEP_Comerc.Tables(0).Rows  
     
            '                CEP_Comerc = drCEP_Comerc(0).ToString()  
            '                CEP_ComercCEP_Comerc = CEP_Comerc.Replace("-", "")  
     
            '                'MsgBox(CEP_Comerc, MsgBoxStyle.Information)  
     
            '            Next drCEP_Comerc  
     
            '            If CEP_Comerc Is System.DBNull.Value OrElse String.IsNullOrEmpty(CEP_Comerc) Then  
     
            '                '   Se entrou no IF, o CEP_Comerc não é válido.  
            '                cmd_EnderecoComercial.Parameters.AddWithValue("@CEP_Comerc", DBNull.Value)  
            '            Else  
            '                cmd_EnderecoComercial.Parameters.AddWithValue("@CEP_Comerc", Convert.ToInt32(CEP_Comerc))  
     
            '            End If  
     
     
            '            If drAccess(21) Is System.DBNull.Value OrElse String.IsNullOrEmpty(drAccess(21)) Then  
     
            '                '  Se entrou no IF, o FoneComerc não é válido.  
            '                cmd_EnderecoComercial.Parameters.AddWithValue("@FoneComerc", DBNull.Value)  
            '            Else  
            '                cmd_EnderecoComercial.Parameters.AddWithValue("@FoneComerc", drAccess(21))  
            '            End If  
     
     
            '            If drAccess(22) Is System.DBNull.Value OrElse String.IsNullOrEmpty(drAccess(22)) Then  
     
            '                ' Se entrou no IF, o FoneComerc2 não é válido.  
            '                cmd_EnderecoComercial.Parameters.AddWithValue("@FoneComerc2", DBNull.Value)  
     
            '            Else  
            '                '   Existe(conteudo)  
            '                cmd_EnderecoComercial.Parameters.AddWithValue("@FoneComerc2", drAccess(22))  
            '            End If  
     
     
     
            '            'DUPLICACAO DOS EMAILS ****************************************************************************************************  
     
            '            If drAccess(14) Is System.DBNull.Value OrElse String.IsNullOrEmpty(drAccess(14)) Then  
     
            '                '  Se entrou no IF, o Email1 não é válido.  
            '                cmd_EnderecoComercial.Parameters.AddWithValue("@E_mail1_Comerc", DBNull.Value)  
            '            Else  
            '                cmd_EnderecoComercial.Parameters.AddWithValue("@E_mail1_Comerc", drAccess(14))  
     
            '            End If  
     
     
            '            If drAccess(15) Is System.DBNull.Value OrElse String.IsNullOrEmpty(drAccess(15)) Then  
     
            '                ' Se entrou no IF, o Email2 não é válido.  
            '                cmd_EnderecoComercial.Parameters.AddWithValue("@E_mail2_Comerc", DBNull.Value)  
            '            Else  
            '                cmd_EnderecoComercial.Parameters.AddWithValue("@E_mail2_Comerc", drAccess(15))  
            '            End If  
     
     
            '            Dim daSQL_EnderecoComercial As New SqlDataAdapter(cmd_EnderecoComercial)  
     
            '            'preenche o dataset   
            '            daSQL_EnderecoComercial.Fill(dsSetSQL_EnderecoComercial)  
     
     
            '        End If 



     Segue um exemplo para inserção numa base Sql Server 2005:

     

    1 'INSER€AO DOS DADOS EM PROCESSO DE MIGRA€ÇO PARA BASE SQL SERVER  
    2  
    3 Dim cmd As New SqlCommand("INSERT into Pessoa (PE_Nome, PE_Sobrenome, PE_Sexo, PE_Nascimento, PE_LocalNascimento, PE_EC_ID, PE_DtEstadoCivil, PE_Antigo) values (@Nome, @sobreNome, @Sexo, @Nascimento, @LocalNascimento, @EstCivID, @DtEstadoCivil, @Antigo)", connSQL)  
    4  
    5 cmd.Parameters.AddWithValue("@Nome", Nome.ToString)  
    6  
    7 cmd.Parameters.AddWithValue("@sobreNome", sobreNome.ToString)  
    8  
    9 cmd.Parameters.AddWithValue("@Sexo", drAccess(1).ToString())  
    10  
    11 cmd.Parameters.AddWithValue("@Nascimento", Convert.ToDateTime(drAccess(2)))  
    12  
    13 cmd.Parameters.AddWithValue("@LocalNascimento", LocalNasc.ToString)  
    14  
    15    
    16  
    17 If (DtEstadoCivil.HasValue) Then   
    18  
    19 cmd.Parameters.AddWithValue("@EstCivID", EstadoCivil)  
    20  
    21 Else  
    22  
    23 cmd.Parameters.AddWithValue("@EstCivID", DBNull.Value)  
    24  
    25 End If  
    26  
    27    
    28  
    29 If (DtEstadoCivil.HasValue) Then  
    30  
    31 'foi informado o valor do campo DtEstadoCivil  
    32  
    33 cmd.Parameters.AddWithValue("@DtEstadoCivil", Convert.ToDateTime(DtEstadoCivil))  
    34  
    35 Else  
    36  
    37 'NÇO foi informado nenhum valor para o campo DtEstadoCivil   
    38  
    39 cmd.Parameters.AddWithValue("@DtEstadoCivil", DBNull.Value)  
    40  
    41 End If  
    42  
    43    
    44  
    45 cmd.Parameters.AddWithValue("@Antigo", drAccess(6).ToString())  
    46  
    47  




    Algumas dicas para complementar:

    Sugiro pesquisar mais sobre ADO.NET e acesso a dados para você conseguir trabalhar melhor com dados e tratamento dos mesmos, para te aperfeiçoar.

    Para este ou qualquer outro assunto antes de perguntar, sempre pesquise antes, pois quanto mais informado estiver sobre algo, melhor será para resolver seu caso específico/situação.

    Se ainda assim persistir a dúvida, então pergunte aqui no fórum, pode haver alguém que consiga atender suas dúvidas.


    Links para implementar acesso & BD:

    http://www.macoratti.net/indbusca.htm (pesquise nesse link, bastante conteúdo)

    http://www.macoratti.net/aspn_bdb.htm

    http://www.macoratti.net/08/11/c_sql_m1.htm



    Links relacionados com Parâmetros:


    Data Access With ADO.NET

    http://authors.aspalliance.com/stevesmith/articles/dotnetdataaccess.asp


    http://www.cs.odu.edu/~wild/cs477/spring04/adonet.htm


    http://social.msdn.microsoft.com/Search/pt-BR/?query=sqlcommand%20parameters&ac=3


    http://dotnetfacts.blogspot.com/2009/01/adonet-command-parameters.html

    http://www.csharp-station.com/Tutorials/AdoDotNet/Lesson06.aspx

    http://www.csharp-station.com/Tutorials/AdoDotNet/Lesson03.aspx

    http://www.informit.com/articles/article.aspx?p=764095&seqNum=2

    http://search.techrepublic.com.com/search/sqlcommand.html

    http://articles.techrepublic.com.com/5100-10878_11-6095080.html



    Para implementar usando stored procedures:

    http://social.msdn.microsoft.com/forums/pt-BR/vscsharppt/thread/16cefb4c-5055-4023-b3c8-9b1546229b93/



    Abraços, Bons estudos! 



    Magno Machado Borba |- Se o post foi util ou resposta nao esqueca de marcar.
    • Marcado como Resposta BrunoAlisson terça-feira, 10 de fevereiro de 2009 15:36
    segunda-feira, 9 de fevereiro de 2009 17:06

  • Outro link pertinente ao assunto desta Thread:


     http://social.msdn.microsoft.com/forums/pt-BR/vscsharppt/thread/b6f08fdd-c43c-42f6-b54b-0742ae9af62f/


    Abraço e bom desenvolvimento,
    Magno Machado Borba |- Se o post foi util ou resposta nao esqueca de marcar.
    segunda-feira, 9 de fevereiro de 2009 17:17
  • Olá Bruno,

    O SqlCommand utiliza parâmetros nomeados, utilizando o caracter "@" (arroba) como prefixo do nome do parâmetro:

     
        cmd.CommandText = "Select * from Usuario where login = @login;";  
        cmd.Parameters.AddWithValue("@login", texto);  
     


    Abraços,
    Caio Proiete


    Caio Proiete
    http://www.caioproiete.com/
    segunda-feira, 9 de fevereiro de 2009 18:45
  • galera
    vlw msm pela ajuda
    n sei se eh por causa do switch-case mas o unico jeito q consegui faze a pesquisa foi concatenando string
    sei q n eh recomendado mas foi a unica forma q funcionou


    BrunoAlisson
    terça-feira, 10 de fevereiro de 2009 15:27

  • Caro Bruno, tente implementar conferindo o exemplo que postei, dá uma verificada nos códigos que disponibilizei, estão bem claros e bem especificados.

    Você pode pesquisar mais tanto na web quanto aqui no fórum sobre parameters, parâmetros em ADO.NET, Sql Command e operações no banco com parâmetros, enfim, existe bastante conteúdo na web sobre isso e inclusive lhe passei alguns interessantes links, acho que precisa estudar um pouco melhor.

    Se surgir outra eventual dúvida, poste aqui, e se algum post ajudar a resolver, favor marcar como resposta. Ok?



    Abraço e bons estudos,
    Magno Machado Borba |- Se o post foi util ou resposta nao esqueca de marcar.
    terça-feira, 10 de fevereiro de 2009 15:35