Program crashing on conversion error

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • nbs.tag@gmail.com

    Program crashing on conversion error

    Hi, ive created a webservice that im going to use to filter a table,
    however when i try to pass the parameters in that will be used, it
    crashes in the webbrowser with:

    System.InvalidC astException: Failed to convert parameter value from a
    SqlParameter to a Int32. ---> System.InvalidC astException: Object must
    implement IConvertible.


    ive tried rewriting this code a few different ways over and over again
    to no avail, at the moment this is what my code looks like:

    [WebMethod]
    public string Search3(int Language, int SecurityLevel, double
    PerDiem, bool WorkNS, bool WorkNB, bool WorkPE, bool WorkNL)
    {
    Database db = DatabaseFactory .CreateDatabase ();
    string proc = storedProcedure ;

    SqlParameter[] sqlParameters = new SqlParameter[]
    {
    new SqlParameter("@ Language", Language),
    new SqlParameter("@ SecurityLevel", SecurityLevel),
    new SqlParameter("@ DiemAmount", PerDiem),
    new SqlParameter("@ WorkNS", WorkNS),
    new SqlParameter("@ WorkNB", WorkNB),
    new SqlParameter("@ WorkPE", WorkPE),
    new SqlParameter("@ WorkNL", WorkNL)
    };

    DbCommand cmd = db.GetStoredPro cCommand(proc,
    sqlParameters);

    IDataReader ir = db.ExecuteReade r(cmd);

    return ir.ToString();
    }

    however ive also tried:


    [WebMethod]
    public XmlDocument Search(int Language, int SecurityLevel,
    double PerDiem, bool WorkNS, bool WorkNB, bool WorkPE, bool WorkNL)
    {
    // DataSet ds;
    Database db = DatabaseFactory .CreateDatabase ();

    SqlParameter[] sqlParameters = new SqlParameter[]
    {
    new SqlParameter("@ Language", Language),
    new SqlParameter("@ SecurityLevel", SecurityLevel),
    new SqlParameter("@ DiemAmount", PerDiem),
    new SqlParameter("@ WorkNS", WorkNS),
    new SqlParameter("@ WorkNB", WorkNB),
    new SqlParameter("@ WorkPE", WorkPE),
    new SqlParameter("@ WorkNL", WorkNL)
    };

    IDataReader ir = db.ExecuteReade r(storedProcedu re,
    sqlParameters);

    XmlDocument doc = new XmlDocument();
    doc.LoadXml(ir. ToString());
    return doc;
    }

    any ideas? they both crash to the same error?

  • nbs.tag@gmail.com

    #2
    Re: Program crashing on conversion error

    Nevermind, i figured out ,the array has to be an object instead of
    sqlParameter array




    nbs.tag@gmail.c om wrote:[color=blue]
    > Hi, ive created a webservice that im going to use to filter a table,
    > however when i try to pass the parameters in that will be used, it
    > crashes in the webbrowser with:
    >
    > System.InvalidC astException: Failed to convert parameter value from a
    > SqlParameter to a Int32. ---> System.InvalidC astException: Object must
    > implement IConvertible.
    >
    >
    > ive tried rewriting this code a few different ways over and over again
    > to no avail, at the moment this is what my code looks like:
    >
    > [WebMethod]
    > public string Search3(int Language, int SecurityLevel, double
    > PerDiem, bool WorkNS, bool WorkNB, bool WorkPE, bool WorkNL)
    > {
    > Database db = DatabaseFactory .CreateDatabase ();
    > string proc = storedProcedure ;
    >
    > SqlParameter[] sqlParameters = new SqlParameter[]
    > {
    > new SqlParameter("@ Language", Language),
    > new SqlParameter("@ SecurityLevel", SecurityLevel),
    > new SqlParameter("@ DiemAmount", PerDiem),
    > new SqlParameter("@ WorkNS", WorkNS),
    > new SqlParameter("@ WorkNB", WorkNB),
    > new SqlParameter("@ WorkPE", WorkPE),
    > new SqlParameter("@ WorkNL", WorkNL)
    > };
    >
    > DbCommand cmd = db.GetStoredPro cCommand(proc,
    > sqlParameters);
    >
    > IDataReader ir = db.ExecuteReade r(cmd);
    >
    > return ir.ToString();
    > }
    >
    > however ive also tried:
    >
    >
    > [WebMethod]
    > public XmlDocument Search(int Language, int SecurityLevel,
    > double PerDiem, bool WorkNS, bool WorkNB, bool WorkPE, bool WorkNL)
    > {
    > // DataSet ds;
    > Database db = DatabaseFactory .CreateDatabase ();
    >
    > SqlParameter[] sqlParameters = new SqlParameter[]
    > {
    > new SqlParameter("@ Language", Language),
    > new SqlParameter("@ SecurityLevel", SecurityLevel),
    > new SqlParameter("@ DiemAmount", PerDiem),
    > new SqlParameter("@ WorkNS", WorkNS),
    > new SqlParameter("@ WorkNB", WorkNB),
    > new SqlParameter("@ WorkPE", WorkPE),
    > new SqlParameter("@ WorkNL", WorkNL)
    > };
    >
    > IDataReader ir = db.ExecuteReade r(storedProcedu re,
    > sqlParameters);
    >
    > XmlDocument doc = new XmlDocument();
    > doc.LoadXml(ir. ToString());
    > return doc;
    > }
    >
    > any ideas? they both crash to the same error?[/color]

    Comment

    Working...