System.NullReferenceException: Object reference not set to an inst

G

Guest

I have several pages written in aspx, but sometime the aspx page return the
following error. And it hapeen, the whole web application gives this error,
that means all the aspx files get affected. Any ideas?
Here is the error:

Server Error in '/' Application.
--------------------------------------------------------------------------------

Object reference not set to an instance of an object.
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: System.NullReferenceException: Object reference not set
to an instance of an object.

ASPX CODE:

<%@ Page Language="JScript" Aspcompat="true" Debug="false"
Inherits="PETestTimeMSP" Src="source/pettmailmsp.js" %>
<%
pettMailMSP();
%>

<html>
<head>
<title>SCReliabilityServices Emailer</title>
</head>
<body>
SCReliabilityServices Emailer - Sent!
</body>
</html>

SOURCE CODE:
import System;
import System.Data;
import System.Data.OleDb;
import System.Web.UI;
import System.Web.UI.WebControls;
import System.Web.UI.HtmlControls;
import System.Text;
import System.Web.Mail;
import DBConn;
import LDAPCOM;

public class PETestTimeMSP extends Page {
public function sendMail(message : String, to : String) : void {
var Mailer : MailMessage = new MailMessage();
Mailer.Priority = MailPriority.Normal;
Mailer.BodyFormat = MailFormat.Html;
Mailer.From = "(e-mail address removed)";
Mailer.To = to;
Mailer.Subject = "(MSP) DRTL PE Test Time Forecast - " + (new
Date().getMonth()+1) + "/" + new Date().getDate() + "/" + new
Date().getYear();
//Mailer.Body = "<font color=blue face=Arial size=-1>Starting today, you
will be receiving a daily report that should be beneficial in planning test
time<br>for jobs being stressed in DRTL.<br><br>The first part of the report
“Completed Stress – Pending Test†shows jobs that have completed stress
and<br>are pending test. For jobs in this status, electrical test has not
yet been completed - according to our database.<br>These will continue to
stay open, until data is provided to close.<br>If you have contacted our lab
on some of these jobs for closure, we are working on them.<br><b>Otherwise,
please contact Jennifer McClellan.</b><br><br>The second part of the report
“Forecast Readpoints for Test†is a forecast for jobs that are in<br>stress
and are expected to be completed within the next 5 days.<br>The time out on
the expected day is the end of the day.<br><br>Regards,<br>David
Kaase<br>DRTL Manager</font><br><br>" + message;
Mailer.Body = message;
SmtpMail.SmtpServer = "smtp.mail.ti.com";
SmtpMail.Send(Mailer);
}

public function pettMailMSP() : String {
var DBConnUtil : DBConnQDW = new DBConnQDW();
var dbconn : OleDbConnection = DBConnUtil.connectQDW();
var sql : String = "select d.relcode, d.jobtitle, d.pengrname,
d.pengremail, d.priority, t.testtype, t.testnum, r.grp, r.readnum, r.hrcy,
r.qty, to_char(k.sent, 'MM/DD/YYYY') sent, to_char(k.expecteddate,
'MM/DD/YYYY') expecteddate, k.location from rel_device d, rel_tests t,
rel_reads r, rel_track k where d.relcode = t.relcode and t.relcode =
r.relcode and t.testnum = r.testnum and r.relcode = k.relcode and r.testnum =
k.testnum and r.grp = k.grp and r.readnum = k.readnum and d.dbname = 'MSPREL'
and t.status = 'Active' and UPPER(t.programno) like 'ENG%' and k.complete is
null and k.location = 'PE Test'"
+ " union "
+ "select d.relcode, d.jobtitle, d.pengrname,
d.pengremail, d.priority, t.testtype, t.testnum, r.grp, r.readnum, r.hrcy,
r.qty, to_char(k.sent, 'MM/DD/YYYY') sent, to_char(k.expecteddate,
'MM/DD/YYYY') expecteddate, k.location from rel_device d, rel_tests t,
rel_reads r, rel_track k where d.relcode = t.relcode and t.relcode =
r.relcode and t.testnum = r.testnum and r.relcode = k.relcode and r.testnum =
k.testnum and r.grp = k.grp and r.readnum = k.readnum and d.dbname = 'MSPREL'
and t.status = 'Active' and ((t.testnum >= 0001 and t.testnum <= 0104) or
(t.testnum >= 1000 and t.testnum <= 1615) or (t.testnum >= 2000 and t.testnum
<= 2750) or (t.testnum >= 3000 and t.testnum <= 3240) or (t.testnum >= 3500
and t.testnum <= 3800) or (t.testnum >= 4075 and t.testnum <= 4322) or
(t.testnum = 9001)) and UPPER(t.programno) like 'ENG%' and k.expecteddate is
not null and k.expecteddate <= sysdate+5 and k.complete is null and
k.location like 'DRTL-%' order by 3, 5, 1, 6, 8, 12, 13";
var dbcmd : OleDbCommand = new OleDbCommand(sql, dbconn);
var dbRecords : OleDbDataReader = dbcmd.ExecuteReader();

var tableA : StringBuilder = new StringBuilder();
var tableB : StringBuilder = new StringBuilder();
var tableC : StringBuilder = new StringBuilder();
var tableS1 : StringBuilder = new StringBuilder();
var tableS2 : StringBuilder = new StringBuilder();
var tableS3 : StringBuilder = new StringBuilder();
var pengremail : String;
var relcodeA : String;
var relcodeB : String;
var expecteddate : String;
var tempdate : Date;
var ldaputil : LDAP = new LDAP();
while( dbRecords.Read() ) {
if( String.Compare(pengremail, dbRecords("pengremail")) != 0 ) {
if( String.Compare(pengremail, null) != 0 ) {
if( String.Compare(tableA.ToString(), "") != 0 ) {
tableA.Append("</table>");
tableC.Append(tableA.ToString());
tableC.Append("<br><br>");
}

if( String.Compare(tableB.ToString(), "") != 0 ) {
tableB.Append("</table>");
tableC.Append(tableB.ToString());
}

if( String.Compare(ldaputil.getLDAPValue('MAIL', pengremail,
'mail'), "") != 0 &&
String.Compare(tableC.ToString(), "") != 0 ) {
tableC.Append("<br>NOTE: This is an auto-generated
message!<br>");
sendMail(tableC.ToString(), pengremail);
}
}

pengremail = dbRecords("pengremail").ToString();
tableA = new StringBuilder();
tableB = new StringBuilder();
tableC = new StringBuilder();
}

if( String.Compare(dbRecords("location").ToString(), 'PE Test') == 0 ) {
if( String.Compare(tableS1.ToString(), "") == 0 ) {
tableS1.Append("<h2><font color=maroon>Completed Stress - Pending
Test</font></h2>");
tableS1.Append("<table width=75%>");
}

if( String.Compare(tableA.ToString(), "") == 0 ) {
tableA.Append("<h2><font color=maroon>Completed Stress - Pending
Test</font></h2>");
tableA.Append("<table width=75%>");
tableA.Append("<tr>");
tableA.Append("<td colspan=7><b>PE: " +
dbRecords("pengrname").ToString() + ":</b></td>");
tableA.Append("</tr>");

tableS1.Append("<tr>");
tableS1.Append("<td colspan=7><b>PE: " +
dbRecords("pengrname").ToString() + ":</b></td>");
tableS1.Append("</tr>");
}

if( String.Compare(relcodeA, dbRecords("relcode").ToString()) != 0 ) {
relcodeA = dbRecords("relcode").ToString();
tableA.Append("<tr>");
tableA.Append("<td colspan=5> <i><a
href='http://reldb.sc.ti.com/reldb/reldbmain.nsf/ShowJobDetail?OpenAgent&Relcode="
+ relcodeA + "'>" + relcodeA + "&nbsp; — " +
dbRecords("jobtitle").ToString() + "</a></i></td>");
tableA.Append("</tr>");
tableA.Append("<tr>");
tableA.Append("<td align=center><font
size=-1><b>Test_Type</b></font></td>");
tableA.Append("<td align=center><font
size=-1><b>Hr/Cy</b></font></td>");
tableA.Append("<td align=center><font
size=-1><b>Grp</b></font></td>");
tableA.Append("<td align=center><font
size=-1><b>Qty</b></font></td>");
tableA.Append("<td align=center><font
size=-1><b>PE_Test</b></font></td>");
tableA.Append("</tr>");

tableS1.Append("<tr>");
tableS1.Append("<td colspan=5> <i><a
href='http://reldb.sc.ti.com/reldb/reldbmain.nsf/ShowJobDetail?OpenAgent&Relcode="
+ relcodeA + "'>" + relcodeA + "&nbsp; — " +
dbRecords("jobtitle").ToString() + "</a></i></td>");
tableS1.Append("</tr>");
tableS1.Append("<tr>");
tableS1.Append("<td align=center><font
size=-1><b>Test_Type</b></font></td>");
tableS1.Append("<td align=center><font
size=-1><b>Hr/Cy</b></font></td>");
tableS1.Append("<td align=center><font
size=-1><b>Grp</b></font></td>");
tableS1.Append("<td align=center><font
size=-1><b>Qty</b></font></td>");
tableS1.Append("<td align=center><font
size=-1><b>PE_Test</b></font></td>");
tableS1.Append("</tr>");
}

tableA.Append("<tr>");
tableA.Append("<td align=center><font size=-1>" +
dbRecords("testtype").ToString() + "</font></td>");
tableA.Append("<td align=center><font size=-1>" +
dbRecords("hrcy").ToString() + "</font></td>");
tableA.Append("<td align=center><font size=-1>" +
dbRecords("grp").ToString() + "</font></td>");
tableA.Append("<td align=center><font size=-1>" +
dbRecords("qty").ToString() + "</font></td>");
tableA.Append("<td align=center><font size=-1>" +
dbRecords("sent").ToString() + "</font></td>");
tableA.Append("</tr>");

tableS1.Append("<tr>");
tableS1.Append("<td align=center><font size=-1>" +
dbRecords("testtype").ToString() + "</font></td>");
tableS1.Append("<td align=center><font size=-1>" +
dbRecords("hrcy").ToString() + "</font></td>");
tableS1.Append("<td align=center><font size=-1>" +
dbRecords("grp").ToString() + "</font></td>");
tableS1.Append("<td align=center><font size=-1>" +
dbRecords("qty").ToString() + "</font></td>");
tableS1.Append("<td align=center><font size=-1>" +
dbRecords("sent").ToString() + "</font></td>");
tableS1.Append("</tr>");
}
else {
expecteddate = dbRecords("expecteddate").ToString();
if( parseInt(dbRecords("testnum")) >= 1 &&
parseInt(dbRecords("testnum")) <= 104 ) {
sql = "select r_user from rel_reads where relcode = '" +
dbRecords("relcode") + "' and testnum = '" + dbRecords("testnum") + "' and
grp = '" + dbRecords("grp") + "' and readnum <= '" + dbRecords("readnum") +
"' and r_user like '%Soak%'";
var dbconnPrecon : OleDbConnection = DBConnUtil.connectQDW();
var dbcmdPrecon : OleDbCommand = new OleDbCommand(sql,
dbconnPrecon);
var dbRecordsPrecon : OleDbDataReader = dbcmdPrecon.ExecuteReader();
if( !dbRecordsPrecon.Read() ) {
dbRecordsPrecon.Close();
DBConnUtil.closeQDW(dbconnPrecon);
continue;
}
else {
tempdate = new Date(expecteddate);
tempdate.setHours(48);
if( tempdate > new Date().setHours(120) ) {
dbRecordsPrecon.Close();
DBConnUtil.closeQDW(dbconnPrecon);
continue;
}
else {
expecteddate = (new Date(tempdate).getMonth()+1) + "/" + new
Date(tempdate).getDate() + "/" + new Date(tempdate).getYear();
dbRecordsPrecon.Close();
DBConnUtil.closeQDW(dbconnPrecon);
}
}
}

if( String.Compare(tableS2.ToString(), "") == 0 ) {
tableS2.Append("<h2><font color=maroon>Forecast Readpoints for
Test</font></h2>");
tableS2.Append("<table width=75%>");
}

if( String.Compare(tableB.ToString(), "") == 0 ) {
tableB.Append("<h2><font color=maroon>Forecast Readpoints for
Test</font></h2>");
tableB.Append("<table width=75%>");
tableB.Append("<tr>");
tableB.Append("<td colspan=7><b>PE: " +
dbRecords("pengrname").ToString() + ":</b></td>");
tableB.Append("</tr>");

tableS2.Append("<tr>");
tableS2.Append("<td colspan=7><b>PE: " +
dbRecords("pengrname").ToString() + ":</b></td>");
tableS2.Append("</tr>");
}

if( String.Compare(relcodeB, dbRecords("relcode").ToString()) != 0 ) {
relcodeB = dbRecords("relcode").ToString();
tableB.Append("<tr>");
tableB.Append("<td colspan=5> <i><a
href='http://reldb.sc.ti.com/reldb/reldbmain.nsf/ShowJobDetail?OpenAgent&Relcode="
+ relcodeB + "'>" + relcodeB + "&nbsp; — " +
dbRecords("jobtitle").ToString() + "</a></i></td>");
tableB.Append("</tr>");
tableB.Append("<tr>");
tableB.Append("<td align=center><font
size=-1><b>Test_Type</b></font></td>");
tableB.Append("<td align=center><font
size=-1><b>Hr/Cy</b></font></td>");
tableB.Append("<td align=center><font
size=-1><b>Grp</b></font></td>");
tableB.Append("<td align=center><font
size=-1><b>Qty</b></font></td>");
tableB.Append("<td align=center><font
size=-1><b>Expected_Date</b></font></td>");
tableB.Append("</tr>");

tableS2.Append("<tr>");
tableS2.Append("<td colspan=5> <i><a
href='http://reldb.sc.ti.com/reldb/reldbmain.nsf/ShowJobDetail?OpenAgent&Relcode="
+ relcodeB + "'>" + relcodeB + "&nbsp; — " +
dbRecords("jobtitle").ToString() + "</a></i></td>");
tableS2.Append("</tr>");
tableS2.Append("<tr>");
tableS2.Append("<td align=center><font
size=-1><b>Test_Type</b></font></td>");
tableS2.Append("<td align=center><font
size=-1><b>Hr/Cy</b></font></td>");
tableS2.Append("<td align=center><font
size=-1><b>Grp</b></font></td>");
tableS2.Append("<td align=center><font
size=-1><b>Qty</b></font></td>");
tableS2.Append("<td align=center><font
size=-1><b>Expected_Date</b></font></td>");
tableS2.Append("</tr>");
}

tableB.Append("<tr>");
tableB.Append("<td align=center><font size=-1>" +
dbRecords("testtype").ToString() + "</font></td>");
tableB.Append("<td align=center><font size=-1>" +
dbRecords("hrcy").ToString() + "</font></td>");
tableB.Append("<td align=center><font size=-1>" +
dbRecords("grp").ToString() + "</font></td>");
tableB.Append("<td align=center><font size=-1>" +
dbRecords("qty").ToString() + "</font></td>");
tableB.Append("<td align=center><font size=-1>" + expecteddate +
"</font></td>");
tableB.Append("</tr>");

tableS2.Append("<tr>");
tableS2.Append("<td align=center><font size=-1>" +
dbRecords("testtype").ToString() + "</font></td>");
tableS2.Append("<td align=center><font size=-1>" +
dbRecords("hrcy").ToString() + "</font></td>");
tableS2.Append("<td align=center><font size=-1>" +
dbRecords("grp").ToString() + "</font></td>");
tableS2.Append("<td align=center><font size=-1>" +
dbRecords("qty").ToString() + "</font></td>");
tableS2.Append("<td align=center><font size=-1>" + expecteddate +
"</font></td>");
tableS2.Append("</tr>");
}
}

if( String.Compare(tableA.ToString(), "") != 0 ) {
tableA.Append("</table>");
tableC.Append(tableA.ToString());
tableC.Append("<br><br>");
}

if( String.Compare(tableB.ToString(), "") != 0 ) {
tableB.Append("</table>");
tableC.Append(tableB.ToString());
}

if( String.Compare(ldaputil.getLDAPValue('MAIL', pengremail, 'mail'),
"") != 0 &&
String.Compare(tableC.ToString(), "") != 0 ) {
tableC.Append("<br>NOTE: This is an auto-generated message!<br>");
sendMail(tableC.ToString(), pengremail);
}

if( String.Compare(tableS1.ToString(), "") != 0 ) {
tableS1.Append("</table>");
tableS3.Append(tableS1.ToString());
tableS3.Append("<br><br>");
}

if( String.Compare(tableS2.ToString(), "") != 0 ) {
tableS2.Append("</table>");
tableS3.Append(tableS2.ToString());
}

tableS3.Append("<br>NOTE: This is an auto-generated message!<br>");
sendMail("***Summary to Lab Manager***<br><br>" + tableS3.ToString(),
'(e-mail address removed)');

dbRecords.Close();
DBConnUtil.closeQDW(dbconn);
}
}
 
K

Kevin Spencer

A couple of things:

Note the following in the error message:
Please review the stack trace for more information about
the error and where it originated in the code.

Note the following in your @Page directive:
<%@ Page Language="JScript" Aspcompat="true" Debug="false"
Inherits="PETestTimeMSP" Src="source/pettmailmsp.js" %>

Turing Debugging ON should give you the stack trace that will indicate the
line of code that threw the exception. From there it's simple.

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
Neither a follower nor a lender be.
 
G

Guest

Kevin,

Thanks for helping out.
When I turn it on, the stack shows error during compiling and assembly
permissions issue. I cannot get the error back, because our server guy reboot
the .net service, and the pages are working again.
It happen so many times that every time it happen, all the aspx pages get
affected and the .net service return the same error for every aspx pages. And
every time I have to ask our server guy to reboot the .net service, and then
everything works again... We couldn't find out what the root cause is.
Any ideas?

Thanks,
Ben
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,054
Latest member
TrimKetoBoost

Latest Threads

Top