Opération arithmétique a donné lieu à un trop-plein

asp.net entity-framework mysql

Question

Après la mise à jour de mon site Web sur ii7 sur Windows Server 2008 à partir du framework 3.5 pour fonctionner avec le framework 4, la classe de base de base c # a cessé de fonctionner en même temps que cette erreur: "Une opération arithmétique a entraîné un débordement". Je travaille avec le serveur mysql de serveur différent.

Je n’ai trouvé aucune solution à ce sujet et j’ai eu très tristesse de jouer le rôle de bakce dans le cadre 3.5

Voici quelques-uns de mes journaux pour cette erreur dans l'événement viewr sur mon serveur:


Informations de processus: ID de processus: 3680 Nom du processus: w3wp.exe Nom du compte: NT AUTHORITY \ NETWORK SERVICE

Informations d'exception: Type d'exception: OverflowException Message d'exception: une opération arithmétique a entraîné un dépassement de capacité. at DataAccess.ExecuteStringQuery (String strSQL) dans d: \ webSites \ s2s \ Code_Application \ DB \ DataAccess.cs: ligne 214 dans DataSelect.generalString (String, NomLigne, NomTable, ID NomChaîne, ID de Chaîne) dans d: \ WebSites \ s2s \ App_Code \ DB \ DataSelect.cs: ligne 48 sur camsBaseShowWeb.OnPreInit (EventArgs e) dans d: \ webSites \ s2s \ App_Code \ Bases \ camsBaseShowWeb.cs: ligne 134 sur System.Web.UI.Page.Page.Page.PerformPreInit ()

at System.Web.UI.Page.ProcessRequestMain (Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

grand merci pour toute halp


j'ai cette erreur - peu importe la fonction que j'essaie d'appeler depuis ce code

voici mon code:

using System;
using System.Data;
//using Microsoft.Data.Odbc;
using System.Data.Odbc;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public class DataAccess
{
    #region Private Variables
    private static DataAccess _DataAccess = null;
    private static object _SyncLock = new object();
    private string _strCon = "Driver={MySQL ODBC 5.1 Driver};Server=theIP;Database=theDatabase; UID=root;Password=thePassword;Option=3;";
    private OdbcConnection myConnection = null;
    #endregion

    #region Instance Method
    public static DataAccess Instance
    {
        get
        {
            lock (_SyncLock)
            {
                if (_DataAccess == null)
                    _DataAccess = new DataAccess();
                return _DataAccess;
            }
        }
    }
    #endregion

    #region Constractors
    public DataAccess()
    {
        myConnection = new OdbcConnection(_strCon);
        myConnection.Open();
    }
    #endregion

    #region Public Functions
    public OdbcDataReader ExecuteQueryReader(string strSQL)
    {
        try
        {
            OdbcCommand myCommand = new OdbcCommand(strSQL, myConnection);
            return myCommand.ExecuteReader();
        }
        catch (Exception ex)
        {
            if (Dict.IsRemote == true)
            {
                sendMail("error ExecuteQueryReader SQL s2s", strSQL, ex);
            }
            throw ex;
        }
    }

    public DataTable ExecuteQuery(string strSQL)
    {
        DataTable dt = new DataTable();
        OdbcDataAdapter objDataAdapter = null;
        try
        {
            objDataAdapter = new OdbcDataAdapter(strSQL, myConnection);
            objDataAdapter.Fill(dt);
        }
        catch (Exception ex)
        {
            if (Dict.IsRemote == true)
            {
                sendMail("error ExecuteQuery SQL s2s", strSQL, ex);
            }

            throw ex;
        }
        finally
        {
            if (objDataAdapter != null) objDataAdapter.Dispose();
        }
        return dt;
    }

    public DataView ExecuteQueryDV(string strSQL)
    {
        DataTable dt = new DataTable();
        OdbcDataAdapter objDataAdapter = null;
        try
        {
            objDataAdapter = new OdbcDataAdapter(strSQL, myConnection);
            objDataAdapter.Fill(dt);
        }
        catch (Exception ex)
        {
            if (Dict.IsRemote == true)
            {
                sendMail("error ExecuteQuery SQL s2s", strSQL, ex);
            }

            throw ex;
        }
        finally
        {
            if (objDataAdapter != null) objDataAdapter.Dispose();
        }
        return new DataView(dt);
    }

    public DataTable ExecuteLimitedQuery(string strSQL, int startRow, int rowNum)
    {
        DataTable dt;
        DataSet ds = new DataSet();
        OdbcDataAdapter objDataAdapter = null;
        try
        {
            objDataAdapter = new OdbcDataAdapter(strSQL, myConnection);
            objDataAdapter.Fill(ds, startRow, rowNum, "rowTable");
            dt = (DataTable)ds.Tables["rowTable"];
        }
        catch (Exception ex)
        {
            if (Dict.IsRemote == true)
            {
                sendMail("error ExecuteLimitedQuery SQL s2s", strSQL, ex);
            }

            throw ex;
        }
        finally
        {
            if (objDataAdapter != null) objDataAdapter.Dispose();
        }
        return dt;
    }

    public object ExecuteScalarQuery(string strSQL)
    {
        OdbcCommand myCommand = null;
        object obj = null;

        try
        {
            myCommand = new OdbcCommand(strSQL, myConnection);
            obj = myCommand.ExecuteScalar();
        }
        catch (Exception ex)
        {  
            if (Dict.IsRemote == true)
            {
                sendMail("error ExecuteScalarQuery SQL s2s", strSQL, ex);
            }

            throw ex; 
        }
        finally
        {
            if (myCommand != null) myCommand.Dispose();  
        }

        return obj;
    }

    public string ExecuteStringQuery(string strSQL)
    {
        OdbcCommand myCommand = null;
        object obj = null;

        try
        {
            myCommand = new OdbcCommand(strSQL, myConnection);
            obj = myCommand.ExecuteScalar();
        }
        catch (Exception ex)
        {
            if (myConnection.State != ConnectionState.Open)
            {
                myConnection.Open();
                if (myCommand != null) myCommand.Dispose();

                try
                {
                    myCommand = new OdbcCommand(strSQL, myConnection);
                    obj = myCommand.ExecuteScalar();
                }
                catch (Exception ex2)
                {
                    if (Dict.IsRemote == true)
                    {
                        sendMail("error - לאחר ניסיון שני ExecuteStringQuery SQL s2s", strSQL, ex2);
                    }

                    throw ex2;
                }
            }
            else
            {
                if (Dict.IsRemote == true)
                {
                    sendMail("error ExecuteStringQuery SQL s2s", strSQL, ex);
                }

                throw ex;
            }
        }
        finally
        {
            if (myCommand != null) myCommand.Dispose();
        }

        return obj != null ? obj.ToString() : string.Empty;
    }

    public int ExecuteNoneQuery(string strSQL)
    {
        OdbcCommand myCommand = null;
        int i;
        try
        {
            myCommand = new OdbcCommand(strSQL, myConnection);
            i = myCommand.ExecuteNonQuery();
        }
        catch (Exception ex)
        {
            if (Dict.IsRemote == true)
            {
                sendMail("error ExecuteNoneQuery SQL s2s", strSQL, ex);
            }

            throw ex;
        }
        finally
        {
            if (myCommand != null) myCommand.Dispose();  
        }
        return i;
    }

    public int InsertGetLastID(string strSQL)
    {
        OdbcCommand myCommand = null;
        int LastID = 0;
        object objID = null;

        try
        {
            myCommand = new OdbcCommand(strSQL, myConnection);
            if (myCommand.ExecuteNonQuery() == 1)
            {
                myCommand = new OdbcCommand("SELECT LAST_INSERT_ID()", myConnection);
                objID = myCommand.ExecuteScalar();
                if (objID != null)
                {
                    LastID = int.Parse(objID.ToString());
                }
            }
        }
        catch (Exception ex)
        {
            if (Dict.IsRemote == true)
            {
                sendMail("error InsertGetLastID SQL s2s", strSQL, ex);
            }

            throw ex;
        }
        finally
        {
            if (myCommand != null) myCommand.Dispose();  
        }
        return LastID;
    }

    private void sendMail(string title, string sql, Exception ex)
    {
        string body = string.Empty +
            "SQL:\n\n" + sql + "\n\n" +
            "Exeption:\n\n" + ex.Message + "\n\n" +
            "Stack Trace:\n\n" + ex.StackTrace + "\n\n" +
            "Source:\n\n" + ex.Source + "\n\n";

        mailSend mailS = new mailSend("theMail", "mailTo", title, body);
    }
    #endregion
}

Réponse populaire

La fonction de conversion en booléen ne fonctionne pas lorsque 1. Le développement est effectué sous un système d'exploitation 32 bits.

Quand j'ai modifié le code pour la fonction Convert.ToBoolean, cela a fonctionné normalement.



Related

Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow