Click here to Skip to main content
15,898,222 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hi,

I am splitting DateTime field values as Date and Time (into 2 columns). And it is converting successfully. After that, if i'm saving it, i am getting an error '
C#
object reference not set to an instance of an object

' at this line:
StrRebuild += "þ" + dataGridView1.Rows[j].Cells[i].Value.ToString()+"þ";

What I have tried:

I am not understanding why i am getting this error. Please help me.
Posted
Updated 27-Jun-16 4:42am
Comments
Kornfeld Eliyahu Peter 27-Jun-16 9:46am    
Use the debugger and check the value of these at run-time...
dataGridView1.Rows[j]
dataGridView1.Rows[j].Cells[i]
dataGridView1.Rows[j].Cells[i].Value
Sergey Alexandrovich Kryukov 27-Jun-16 10:37am    
If the inquirer's observations are correct, that very exception could be only in the third line, because first two lines would throw out-of-range exception instead.
—SA
Kornfeld Eliyahu Peter 27-Jun-16 12:54pm    
You are right, but that's knowledge OP should have after hard work and as a gift from you :-)
Sergey Alexandrovich Kryukov 27-Jun-16 13:53pm    
Hard? Well, nothing is too hard here, not even developing appropriate skills. My whole point is: this is one of the easiest problems to solve. This is the main goal of the way I answer such questions as in Solution 1...
—SA
Karthik_Mahalingam 27-Jun-16 9:46am    
post the full code.
you are trying to access the index of a collection which is not available.

1 solution

Please see the first comment to the question and my comment to it. This is where you had to start.

You cannot ask questions every time similar things happen; it's very important to learn dealing with such things all by yourself.

Not to worry. This is one of the easiest cases to detect and fix. It simply means that some member/variable of some reference type is dereferences by using and of its instance (non-static) members, which requires this member/variable to be non-null, but in fact it appears to be null. Simply execute it under debugger, it will stop the execution where the exception is thrown. Put a break point on that line, restart the application and come to this point again. Evaluate all references involved in next line and see which one is null while it needs to be not null. After you figure this out, fix the code: either make sure the member/variable is properly initialized to a non-null reference, or check it for null and, in case of null, do something else.

Please see also: want to display next record on button click. but got an error in if condition of next record function "object reference not set to an instance of an object".

Sometimes, you cannot do it under debugger, by one or another reason. One really nasty case is when the problem is only manifested if software is built when debug information is not available. In this case, you have to use the harder way. First, you need to make sure that you never block propagation of exceptions by handling them silently (this is a crime of developers against themselves, yet very usual). The you need to catch absolutely all exceptions on the very top stack frame of each thread. You can do it if you handle the exceptions of the type System.Exception. In the handler, you need to log all the exception information, especially the System.Exception.StackTrace:
http://msdn.microsoft.com/en-us/library/system.exception.aspx,
http://msdn.microsoft.com/en-us/library/system.exception.stacktrace.aspx.

The stack trace is just a string showing the full path of exception propagation from the throw statement to the handler. By reading it, you can always find ends. For logging, it's the best (in most cases) to use the class System.Diagnostics.EventLog:
http://msdn.microsoft.com/en-us/library/system.diagnostics.eventlog.aspx.

Good luck,
—SA
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900