Click here to Skip to main content
15,893,814 members
Please Sign up or sign in to vote.
3.00/5 (1 vote)
See more:
hello friends ,

here im getting an error Object reference no set to an instance of an object.


C#
try
{
   if (ddl_department.SelectedItem.Text != string.Empty && ddl_doctor.SelectedItem.Text != string.Empty)
   {
      string date = DateTime.Now.ToString("dd/MM/yyyy hh:mm:ss tt");
      DALCreateVisit visit_id_creation = new DALCreateVisit();
      visit_id_creation.CreateVisit(date, lbl_pid.Text, ddl_doctor.SelectedValue, ddl_department.SelectedValue, string.Empty);
      Page.ClientScript.RegisterStartupScript(this.GetType(), "test", "alert('visited');", true);

      // Retrieve the cached DataTable.
      DataTable dt = (DataTable)Cache["Headlines"];
      
      // Add a row for the posted title.
      dt.Rows.Add(new object[] {DateTime.Now}); "HERE IAM GETTING AN ERROR"

      // Re-cache the updated DataTable.
      Cache["Headlines"] = dt;
   }
   else
   {
      Page.ClientScript.RegisterStartupScript(this.GetType(), "test", "alert('Please select department and doctor');", true);
      this.ModalPopupExtender2.Show();
   }
}
catch (Exception ex)
{
   CreateLogFiles.CreateLogFiles Err = new CreateLogFiles.CreateLogFiles();
   Err.ErrorLog(Server.MapPath("Logs/ErrorLog-"), ex.Message);
   Page.ClientScript.RegisterClientScriptBlock(typeof(Page), "Script", "alert('" + ex.Message + "');", true);
}
Posted
Updated 31-Dec-13 15:10pm
v5
Comments
JoCodes 31-Dec-13 2:28am    
In which line getting the error?
♥…ЯҠ…♥ 31-Dec-13 2:29am    
Did you debug? In which line you are getting this error?
Mr.VJ 31-Dec-13 2:34am    
dt.Rows.Add(new object[] {DateTime.Now});

here getting error
JoCodes 31-Dec-13 2:47am    
Debug and check whether dt is null?
[no name] 31-Dec-13 4:30am    
yes, dt is null!

You did not show where the exception with the message "Object reference not set to an instance of an object" is thrown.

Not to worry. This is one of the very easiest cases to detect and fix. It simply means that some member/variable of some reference type is dereferenced 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
 
Comments
Abhinav S 31-Dec-13 22:50pm    
My 5.
Sergey Alexandrovich Kryukov 31-Dec-13 22:58pm    
Thank you, Abhinav.
Happy New Year!
—SA
Abhinav S 1-Jan-14 0:02am    
Thank you SA. And wishing you the same!
Faisalabadians 1-Jan-14 3:10am    
+5
Sergey Alexandrovich Kryukov 1-Jan-14 3:58am    
Thank you. Happy New Year!
—SA
Check whether the retrieved cached DataTable is null before adding rows to it.
Also, check Row adding object array parameters is in same order as the columns were defined.
 
Share this answer
 
v2
Since dt is null that means your datatable is not being retrieved and possibly even stored in the cache. You'll need to track down why that is.
 
Share this answer
 
C#
  if ((!string.IsNullOrEmpty(ddl_department.SelectedItem.Text))&& (!string.IsNullOrEmpty(ddl_doctor.SelectedItem.Text)))
   
just try it
 
Share this answer
 
Comments
Mr.VJ 31-Dec-13 2:33am    
getting same error
This is generally the easiest error to debug.
Just step through your code and you will get the exact location of the error.
 
Share this answer
 
try to write code in try-catch block and debug it you can easily understand everything
 
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