Ir para conteúdo

POWERED BY:

Arquivado

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

Ilano

[Resolvido] Erro ao passar parâmetros

Recommended Posts

Olá pessoal,

 

Estou tentando passar o valor de um campo Texto como parâmetro, mas está dando o erro na linha em vermelho:

 

OCORREU O SEGUINTE ERRO: \nConversion from type 'DBNull' to type 'String' is not valid.

 

O código está assim:

 

Passando os Parâmetros:

 

With Candidatos

.Codigo = CInt(LbCodigo.Text)

.Nome = UCase(Trim(TxtNome.Text))

.RG = Criptografia.ClassEncriptaDecripta.Criptografa(UCase(Trim(TxtRG.Text)))

If IsDate(TxtDataEmissao.SelectedDate) Then .Emissao = pEmissao 'TxtDataEmissao.Text

.OrgaoEmissor = UCase(Trim(TxtOrgaoEmissor.Text))

If TxtCPF.Text <> "" Then .CPF = Criptografia.ClassEncriptaDecripta.Criptografa(Trim(TxtCPF.Text)) Else .CPF = DBNull.Value

Recebendo os Parâmetros:

 

Public Function Inserir() As String

Try

' Gera o código

Db = New classDatabase.DbSql

Db.NomeTabela = "TB_Candidatos"

vlCodigo = Db.Chave("Cand_Codigo")

Db = Nothing

 

' Atribui os valores aos parametros

Cm = New SqlCommand

With Cm

.Parameters.Add("@Cand_Codigo", vlCodigo)

.Parameters.Add("@Cand_Nome", vlNome)

.Parameters.Add("@Cand_RG", Secreto.Criptografa((vlRG)))

.Parameters.Add("@Cand_DataDeEmissao", vlEmissao)

.Parameters.Add("@Cand_OrgaoEmissor", vlOrgaoEmissor)

If Not IsDBNull(vlCPF) Then .Parameters.Add("@Cand_CPF", Secreto.Criptografa(vlCPF)) Else .Parameters.Add("@Cand_CPF", DBNull.Value)

Na tabela, o campo é do tipo Varchar(200) pois será criptografado.

Já a variável é do tipo String.

 

O q pode estar errado neste código????

 

Grato,

 

Ilano.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou retornando a este post para saber com vcs quando e como devo usar estas espressões para passar meus parâmetros:

 

DBNull.Value

DBNull.Value.Equals

DBNull.Value.GetHashCode

DBNull.Value.GetObjectData

DBNull.Value.GetType

DBNull.Value.GetTypeCode

DBNull.Value.ReferenceEquals

DBNull.Value.ToString (Este já sei q será usado para campos do tipo VarChar, mas é só para este tipo???)

 

Qual deles uso para passar valores do tipo Int, Decimal, Image, ...???

 

Grato,

 

Ilano.

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.