Solved

unexpected error in C# asp.net - conversion error

Posted on 2010-08-19
8
1,786 Views
Last Modified: 2013-12-17

Hi group,

I'm having a question about a situation I have run into .... on one hand I have a pre-written code in C# and on other hand it talks to an old database (DB2). I'm asked to fix it!
now, I have the error message and finally after hours asking here and there I was able to get access to a machine to see the code.

The funny part is that code works but sometimes it throws the error in following. At the same time I noticed this error happens (NOT SURE 100%) when few people working on database (directly).

Can somebody tell me by looking at code  what is causing this? I understand there is a conversion error. Also, I was told that DBA has changed new field into table so the order of fields is changed.

I'm not sure if order matters. any idea?

Thanks,
ak



A conversion error occurred.

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: IBM.Data.DB2.iSeries.iDB2ConversionException: A conversion error occurred.



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:



[iDB2ConversionException: A conversion error occurred.]

   AppCenter.Models.UserRepository.Get(String key) in C:\Projects\AppCenter\AppCenter\Models\UserRepository.cs:148

   AppCenter.Controllers.AccountController.Login(String userName, String password, Boolean rememberMe, String returnUrl) in C:\Projects\AppCenter\AppCenter\Controllers\AccountController.cs:80

   lambda_method(ExecutionScope , ControllerBase , Object[] ) +245

   System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters) +17

   System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) +178

   System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +24

   System.Web.Mvc.<>c__DisplayClassa.<InvokeActionMethodWithFilters>b__7() +52

   System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation) +254

   System.Web.Mvc.<>c__DisplayClassc.<InvokeActionMethodWithFilters>b__9() +19

   System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext controllerContext, IList`1 filters, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +192

   System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) +399

   System.Web.Mvc.Controller.ExecuteCore() +126

   System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) +27

   System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(RequestContext requestContext) +7

   System.Web.Mvc.MvcHandler.ProcessRequest(HttpContextBase httpContext) +151

   System.Web.Mvc.MvcHandler.ProcessRequest(HttpContext httpContext) +57

   System.Web.Mvc.MvcHandler.System.Web.IHttpHandler.ProcessRequest(HttpContext httpContext) +7

   System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +181

   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75

Open in new window

0
Comment
Question by:akohan
8 Comments
 
LVL 4

Expert Comment

by:gmarino
ID: 33481879
You don't give much to work with. There is not enough information in the error to diagnose the problem.

"DBA has changed new field into table so the order of fields is changed."  <<-- This could pose a problem IF the C# code uses SELECT *  instead of listing out the specific column names.  Check the code for SELECT * FROM.

- Greg
0
 

Author Comment

by:akohan
ID: 33481927

Hi Greg,

I will look at it further, it is just I was given the task today. it is like asking you to fix a bug when you have no idea yet what the code is doing or even where it is located

Sure but you are right I saw few queries with * rather than specifing fields name. Things like:  SELECT  *  FROM tbl_xyz and ....

thanks,
ak
0
 
LVL 14

Assisted Solution

by:raja_ind82
raja_ind82 earned 100 total points
ID: 33482081
0
 
LVL 37

Expert Comment

by:momi_sabag
ID: 33483252
since it sometime work and sometimes not, this is a data error
i guess you have some issue with the dates format in your input
0
3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

 

Author Comment

by:akohan
ID: 33485543

Gmarino,

Are you saying I have to change * to fields one by one in SELECT statements? if so, then why * causing the issue?

0
 
LVL 4

Accepted Solution

by:
gmarino earned 150 total points
ID: 33486820
ak,

I'm not saying it IS causing the issue.  Rather I am just fishing for possible problems.

You stated "that DBA has changed new field into table so the order of fields is changed."

When using SELECT * FROM table, the columns are presented in the order they exist in the table.  If someone changes the order of the columns in the table AND (here's the key) you are binding those columns to variables or an array in the C# code, then Column_C which used to be bound to Variable_C could now be bound to a different variable.

Old Table Layout
Column_A
Column_B
Column_C

Select *...into Var_A,Var_B,Var_C  returns
Var_A=Column_A
Var_B=Column_B
Var_C=Column_C


New Table Layout
Column_A
Column_C
Column_B
 
Select *...into Var_A,Var_B,Var_C  returns
Var_A=Column_A
Var_B=Column_C (!!!!!)
Var_C=Column_B (!!!!!)

which could lead to a conversion error.

There - that should make it as clear as mud!  :-)


-Greg
0
 

Author Comment

by:akohan
ID: 33503482

thanks to all.

regards,
ak
0
 

Author Closing Comment

by:akohan
ID: 33503488
Thanks
0

Featured Post

DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

More often than not, we developers are confronted with a need: a need to make some kind of magic happen via code. Whether it is for a client, for the boss, or for our own personal projects, the need must be satisfied. Most of the time, the Framework…
Real-time is more about the business, not the technology. In day-to-day life, to make real-time decisions like buying or investing, business needs the latest information(e.g. Gold Rate/Stock Rate). Unlike traditional days, you need not wait for a fe…
Here's a very brief overview of the methods PRTG Network Monitor (https://www.paessler.com/prtg) offers for monitoring bandwidth, to help you decide which methods you´d like to investigate in more detail.  The methods are covered in more detail in o…
This video demonstrates how to create an example email signature rule for a department in a company using CodeTwo Exchange Rules. The signature will be inserted beneath users' latest emails in conversations and will be displayed in users' Sent Items…

932 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

9 Experts available now in Live!

Get 1:1 Help Now