Haberbeck 0 Denunciar post Postado Junho 21, 2006 Olá pessoal, Estou com um problema aki, tenho um campo no meu formulário que é de data(dd/m/aaaa) e não é obrigatório. Ao gravar na base estou fazendo a seguinte verificação: If IsDate(txtDataInicio_alt.Text) Then dt_inicio = DateTime.Parse(txtDataInicio_alt.Text) Else dt_inicio = Convert.DBNull End If resumindo...se é data, insiro mas se vem vazio tenho que inserir NULO no banco.. e não estou conseguindo. nessa linha: dt_inicio = Convert.DBNull dá o erro: Conversão do tipo 'DBNull' no tipo 'Date' não é válida. como faço? já tentei inserir "" e também dá erro. []'s Compartilhar este post Link para o post Compartilhar em outros sites
D.A 0 Denunciar post Postado Junho 21, 2006 Tem como você postar o momento que você salva essa variavel no banco?Pq ai so mostra a variavel recebendo um valor ou nulo.Acho que fica mais facil de ajudar.Valeu. Compartilhar este post Link para o post Compartilhar em outros sites
Haberbeck 0 Denunciar post Postado Junho 21, 2006 Segue o código do evento do botão: os campos são o @sist_dh_inicio e o @sist_dh_termino. Private Sub btnAlterar_Click(ByVal sender As System.Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles btnAlterar.Click Try Dim reader As SqlDataReader = ProcExecuteReader("spSoli_CADASTRO_SISTEMA_man", _New SqlParameter("@sist_nm_abreviado", IIf(Not txtNomeAbreviado_alt.Text.Trim.Equals(String.Empty), txtNomeAbreviado_alt.Text.Trim, Convert.DBNull)), _New SqlParameter("@sist_nm_completo", IIf(Not txtNomeCompleto_alt.Text.Trim.Equals(String.Empty), txtNomeCompleto_alt.Text.Trim, Convert.DBNull)), _New SqlParameter("@sist_ds_plataforma", IIf(Not txtPlataforma_alt.Text.Trim.Equals(String.Empty), txtPlataforma_alt.Text.Trim, Convert.DBNull)), _New SqlParameter("@sist_dh_inicio", IIf(IsDate(txtDataInicio_alt.Text), DateTime.Parse(txtDataInicio_alt.Text), Convert.DBNull)), _New SqlParameter("@sist_dh_termino", IIf(IsDate(txtDataTermino_alt.Text), DateTime.Parse(txtDataTermino_alt.Text), Convert.DBNull)), _New SqlParameter("@sist_qt_tabela_estrangeira", IIf(Not txtTabelaEstrangeira_alt.Text.Trim.Equals(String.Empty), txtTabelaEstrangeira_alt.Text.Trim, Convert.DBNull)), _New SqlParameter("@sist_qt_tabela_propria", IIf(Not txtTabelaPropria_alt.Text.Trim.Equals(String.Empty), txtTabelaPropria_alt.Text.Trim, Convert.DBNull)), _New SqlParameter("@sist_qt_formulario", IIf(Not txtFormulário_alt.Text.Trim.Equals(String.Empty), txtFormulário_alt.Text.Trim, Convert.DBNull)), _New SqlParameter("@sist_qt_programa", IIf(Not txtPrograma_alt.Text.Trim.Equals(String.Empty), txtPrograma_alt.Text.Trim, Convert.DBNull)), _New SqlParameter("@sist_qt_relatorio", IIf(Not txtRelatorio_alt.Text.Trim.Equals(String.Empty), txtRelatorio_alt.Text.Trim, Convert.DBNull)), _New SqlParameter("@sist_cd_userupdate", CType(Session("usuario"), Usuario).Usuario), _New SqlParameter("@sist_cd_id", Request.QueryString("id")), _New SqlParameter("@tipo", 2)) Catch ex As Exception Throw ex End Try RegisterStartupScript("Mensagem", "<script language='javascript'>alert('Registro alterado com sucesso!');</script>") tb_Alterar.Visible = False tb_Inserir.Visible = False tb_Pesquisa.Visible = True End Sub No outro post eu mandei em um IF desmenbrado para tentar facilitar mas ele está dessa forma. Nenhuma das tentativas eu consegui. Compartilhar este post Link para o post Compartilhar em outros sites