NHibernate. 1.2
SQL Server 2005 Express, set to be SQL Server 200 compatible
.Net v2.0.50727
I'm setting up an affiliate system and have decided to use the last day of the month as the date for each invoice, for example: "3/31/2007 11:59:59 PM".
What I've found is that if I query based upon "3/31/2007 11:59:59 PM" I get an invalid format exception. Note that I can do "5/31/2007 11:59:59 PM"(Note the change in month) without throwing the exception. I can also do "3/31/2007 11:59:58 PM"(Note the change in seconds) and it will work without throwing the exception.
However, it seems that last second causes it to throw.
Here is an excerpt of the code I used to test this:
Code:
query_string = "from Mega.Invoice t where month_ending_date = ? and affiliate_id= ?";
NHibernate.IQuery query = sess.CreateQuery(query_string);
query.SetString(0, "3/31/2007 11:59:59 PM");
query.SetString(1, aff_id.ToString());
Here is the full stack trace
Code:
[FormatException: Input string was not in a correct format.]
System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) +2753235
System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) +102
System.String.System.IConvertible.ToInt32(IFormatProvider provider) +43
System.Convert.ToInt32(Object value) +25
NHibernate.Type.Int32Type.Get(IDataReader rs, Int32 index) in C:\Documents and Settings\mreiland\Desktop\NHibernate2\src\NHibernate\Type\Int32Type.cs:29
NHibernate.Type.NullableType.NullSafeGet(IDataReader rs, String name) in C:\Documents and Settings\mreiland\Desktop\NHibernate2\src\NHibernate\Type\NullableType.cs:270
NHibernate.Type.NullableType.NullSafeGet(IDataReader rs, String[] names, ISessionImplementor session, Object owner) in C:\Documents and Settings\mreiland\Desktop\NHibernate2\src\NHibernate\Type\NullableType.cs:212
NHibernate.Type.AbstractType.Hydrate(IDataReader rs, String[] names, ISessionImplementor session, Object owner) in C:\Documents and Settings\mreiland\Desktop\NHibernate2\src\NHibernate\Type\AbstractType.cs:128
NHibernate.Loader.Loader.Hydrate(IDataReader rs, Object id, Object obj, ILoadable persister, ISessionImplementor session, String[][] suffixedPropertyColumns) in C:\Documents and Settings\mreiland\Desktop\NHibernate2\src\NHibernate\Loader\Loader.cs:1101
NHibernate.Loader.Loader.LoadFromResultSet(IDataReader rs, Int32 i, Object obj, Type instanceClass, EntityKey key, LockMode lockMode, ILoadable rootPersister, ISessionImplementor session) in C:\Documents and Settings\mreiland\Desktop\NHibernate2\src\NHibernate\Loader\Loader.cs:1000
NHibernate.Loader.Loader.InstanceNotYetLoaded(IDataReader dr, Int32 i, ILoadable persister, EntityKey key, LockMode lockMode, EntityKey optionalObjectKey, Object optionalObject, IList hydratedObjects, ISessionImplementor session) in C:\Documents and Settings\mreiland\Desktop\NHibernate2\src\NHibernate\Loader\Loader.cs:957
NHibernate.Loader.Loader.GetRow(IDataReader rs, ILoadable[] persisters, EntityKey[] keys, Object optionalObject, EntityKey optionalObjectKey, LockMode[] lockModes, IList hydratedObjects, ISessionImplementor session) in C:\Documents and Settings\mreiland\Desktop\NHibernate2\src\NHibernate\Loader\Loader.cs:891
NHibernate.Loader.Loader.GetRowFromResultSet(IDataReader resultSet, ISessionImplementor session, QueryParameters queryParameters, LockMode[] lockModeArray, EntityKey optionalObjectKey, IList hydratedObjects, EntityKey[] keys, Boolean returnProxies) in C:\Documents and Settings\mreiland\Desktop\NHibernate2\src\NHibernate\Loader\Loader.cs:295
NHibernate.Loader.Loader.DoQuery(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies) in C:\Documents and Settings\mreiland\Desktop\NHibernate2\src\NHibernate\Loader\Loader.cs:424
NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies) in C:\Documents and Settings\mreiland\Desktop\NHibernate2\src\NHibernate\Loader\Loader.cs:183
NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryParameters queryParameters) in C:\Documents and Settings\mreiland\Desktop\NHibernate2\src\NHibernate\Loader\Loader.cs:1751
[ADOException: could not execute query[SQL: select invoice0_.id as id7_, invoice0_.affiliate_id as affiliate2_7_, invoice0_.total as total7_, invoice0_.unique_hits as unique4_7_, invoice0_.signups as signups7_, invoice0_.month_ending_date as month6_7_, invoice0_.payment_method as payment7_7_, invoice0_.payment_date as payment8_7_, invoice0_.payment_verified_date as payment9_7_ from AFF_invoices invoice0_ where (month_ending_date=?)and(affiliate_id=?)]]
NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryParameters queryParameters) in C:\Documents and Settings\mreiland\Desktop\NHibernate2\src\NHibernate\Loader\Loader.cs:1761
NHibernate.Loader.Loader.List(ISessionImplementor session, QueryParameters queryParameters, ISet querySpaces, IType[] resultTypes) in C:\Documents and Settings\mreiland\Desktop\NHibernate2\src\NHibernate\Loader\Loader.cs:1699
NHibernate.Hql.Classic.QueryTranslator.List(ISessionImplementor session, QueryParameters queryParameters) in C:\Documents and Settings\mreiland\Desktop\NHibernate2\src\NHibernate\Hql\Classic\QueryTranslator.cs:1008
NHibernate.Impl.SessionImpl.Find(String query, QueryParameters parameters, IList results) in C:\Documents and Settings\mreiland\Desktop\NHibernate2\src\NHibernate\Impl\SessionImpl.cs:1807
NHibernate.Impl.SessionImpl.Find(String query, QueryParameters parameters) in C:\Documents and Settings\mreiland\Desktop\NHibernate2\src\NHibernate\Impl\SessionImpl.cs:1770
NHibernate.Impl.QueryImpl.List() in C:\Documents and Settings\mreiland\Desktop\NHibernate2\src\NHibernate\Impl\QueryImpl.cs:57
InvoiceDAL.load_invoices(Int32 aff_id, DateTime pFrom, DateTime pTo, ISession sess) in e:\MegaWork\megainternet\Affiliate\App_Code\invoiceDAL.cs:87
InvoiceDAL.load_invoice(Int32 aff_id, Int32 _month, Int32 _year, ISession sess) in e:\MegaWork\megainternet\Affiliate\App_Code\invoiceDAL.cs:31
test.Page_Load(Object sender, EventArgs e) in e:\MegaWork\megainternet\Affiliate\test.aspx.cs:20
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +15
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +34
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +47
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1061
If someone could give me a nudge in the right direction I would appreciate it. I'm completely at a loss to explain this behavior. If you need more info please let me know.
Thank You,
Michael