Ilano 0 Denunciar post Postado Fevereiro 20, 2008 Olá pessoal, Estou tentando executar o código abaixo: Private Sub AtualizaDados() Dim SQL As New System.Text.StringBuilder Dim Ds As New Data.DataSet Dim Cm As New SqlCommand Dim Cx As New SqlConnection Dim Da As New SqlDataAdapter Dim vlDataEmissaoCTC As DateTime Dim vlVencimento As DateTime Dim vlEmissaoPIS As DateTime vlDataEmissaoCTC = TxtDataDeEmissaoCTC.Text If TxtVencimentoHabilitacao.Text <> "" Then vlVencimento = TxtVencimentoHabilitacao.Text If TxtDataDeEmissaoPis.Text <> "" Then vlEmissaoPIS = TxtDataDeEmissaoPis.Text SQL.Append(" UPDATE TB_Colaboradores SET ") SQL.Append(" Col_CarteiraDeTrabalho = @CTC, ") 'Varchar(250) SQL.Append(" Col_SerieCTC = @Serie, ") 'Varchar(20) SQL.Append(" Col_DataDeEmissaoCTC = @DataEmissaoCTC, ") 'Datetime SQL.Append(" Col_OrgaoEmissorCTC = @OrgaoEmissoCTC, ") 'Varchar(80) SQL.Append(" Col_RegistroProfissional = @Registro, ") 'Varchar(250) SQL.Append(" Col_NomeNoCracha = @Cracha, ") 'Varchar(100) SQL.Append(" Col_Habilitacao = @Habilitacao, ") 'Int SQL.Append(" Col_VencimentoHabilitacao = @VencimentoHabilitacao, ") 'Datetime SQL.Append(" Col_CategoriaHabilitacao = @Categoria, ") 'Varchar(30) SQL.Append(" Col_Pis = @Pis, ") 'Varchar(11) SQL.Append(" Col_OrgaoEmissorPis = @OrgaoEmissorPIS, ") 'Varchar(80) SQL.Append(" Col_DataEmissaoPis = @DataEmissaoPIS, ") 'Datetime SQL.Append(" Ban_CodigoPis = @BancoPIS, ") 'Int SQL.Append(" Col_ContaPagamento = @Conta, ") 'Varchar(20) SQL.Append(" Ban_CodigoPagamento = @BancoPagamento, ") 'Int SQL.Append(" Ud_Codigo = @Unidade, ") 'Int SQL.Append(" Fun_Codigo = @Funcao, ") 'Int SQL.Append(" Car_Codigo = @Cargo ") 'Int SQL.Append(" WHERE Col_Codigo = @ID ") 'Int With Cm.Parameters .Add(New SqlParameter("@CTC", TxtCTC.Text)) .Add(New SqlParameter("@Serie", TxtSerie.Text)) .Add(New SqlParameter("@DataEmissaoCTC", vlDataEmissaoCTC)) .Add(New SqlParameter("@OrgaoEmissoCTC", Trim(UCase(TxtOrgaoEmissorCTC.Text)))) If TxtRegistroProf.Text <> "" Then .Add(New SqlParameter("@Registro", Trim(UCase(TxtRegistroProf.Text)))) Else .Add(New SqlParameter("@Registro", DBNull.Value)) .Add(New SqlParameter("@Cracha", Trim(UCase(TxtCracha.Text)))) If TxtHabilitacao.Text <> "" Then .Add(New SqlParameter("@Habilitacao", CInt(TxtHabilitacao.Text))) Else .Add(New SqlParameter("@Habilitacao", DBNull.Value)) If TxtHabilitacao.Text <> "" Then .Add(New SqlParameter("@VencimentoHabilitacao", vlVencimento)) Else .Add(New SqlParameter("@VencimentoHabilitacao", DBNull.Value)) .Add(New SqlParameter("@Categoria", Trim(UCase(TxtCategoriaHabilitacao.Text)))) .Add(New SqlParameter("@Pis", Trim(UCase(TxtPis.Text)))) If TxtOrgaoEmissorPis.Text <> "" Then .Add(New SqlParameter("@OrgaoEmissorPIS", Trim(UCase(TxtOrgaoEmissorPis.Text)))) Else .Add(New SqlParameter("@OrgaoEmissorPIS", DBNull.Value)) If TxtDataDeEmissaoPis.Text <> "" Then .Add(New SqlParameter("@DataEmissaoPIS", vlEmissaoPIS)) Else .Add(New SqlParameter("@DataEmissaoPIS", DBNull.Value)) If DDLBancoPis.SelectedItem.Text <> "--SELECIONE--" Then .Add(New SqlParameter("@BancoPIS", DDLBancoPis.SelectedValue)) Else .Add(New SqlParameter("@BancoPIS", DBNull.Value)) .Add(New SqlParameter("@Conta", Trim(UCase(TxtContaSalario.Text)))) .Add(New SqlParameter("@BancoPagamento", DDLBancoSalario.SelectedValue)) .Add(New SqlParameter("@Unidade", DDLUnidade.SelectedValue)) If DDLFuncao.SelectedItem.Text <> "--SELECIONE--" Then .Add(New SqlParameter("@Funcao", DDLFuncao.SelectedValue)) Else .Add(New SqlParameter("@Funcao", DBNull.Value)) .Add(New SqlParameter("@Cargo", DDLCargo.SelectedValue)) .Add(New SqlParameter("@ID", Session("ID"))) End With Cx.ConnectionString = ConfigurationSettings.AppSettings("cStrConexao") Cm.Connection = Cx Cm.CommandText = SQL.ToString Cx.Open() Cm.ExecuteNonQuery() Cx.Close() End Sub Pois está dando o erro de uma string em lugar de inteiro Server Error in '/' Application. Arithmetic operation resulted in an overflow. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.OverflowException: Arithmetic operation resulted in an overflow. Source Error: An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. Stack Trace: [OverflowException: Arithmetic operation resulted in an overflow.] Microsoft.VisualBasic.CompilerServices.Conversions.ToInteger(String Value) +97 Forms_CadDocumenots.AtualizaDados() +1258 Forms_CadDocumenots.VerificaCampos() +2274 Forms_CadDocumenots.BtnSalvar_Click(Object sender, ImageClickEventArgs e) +7 System.Web.UI.WebControls.ImageButton.OnClick(ImageClickEventArgs e) +105 System.Web.UI.WebControls.ImageButton.RaisePostBackEvent(String eventArgument) +115 System.Web.UI.WebControls.ImageButton.System.Web.UI.IPostBackEventHandler.RaiseP ostBackEvent(String eventArgument) +7 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5102 Version Information: Microsoft .NET Framework Version:2.0.50727.832; ASP.NET Version:2.0.50727.832 Como posso resolver isso? Grato, Ilano. Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Fevereiro 20, 2008 Ilano o erro de Arithmetic overflow geralmente acontece quando por exemplo você tenta inserir um texto de 50 em um parâmetro ou campo que só suporte 25 casas. Debuge certinho e veja em quais dos campos esta acontecendo esse erro, provavelmente é isso. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Ilano 0 Denunciar post Postado Fevereiro 27, 2008 O problema estava no campo Col_Habilitacao, mudei para String no código e Varchar no banco e o problema foi resolvido. Compartilhar este post Link para o post Compartilhar em outros sites