مرحبا
انا عندي مشكلة في تشغيل هذا الjava Code ولا اعرف السبب لماذا تظهر لي هذه الMessege
Exception in thread "main.java.lang.NullPinterException
at Send.main.java:152
رجاءا حاولو مساعدتي
مع جزيل الشكر
import java.sql.*;
import java.util.*;
import java.util.Date;
import javax.mail.*;
import javax.mail.internet.*;
class Project{
String email;
String name;
long projectID;
ArrayList mitarbeiter;
public Project(String n, String em){
name=n;
email=em;
}
}
class Mitarbeiter{
String vorname;
String nachname;
long userID;
boolean has;
public Mitarbeiter(String v, String n, long ID, boolean h){
vorname = v;
nachname = n;
userID = ID;
has = h;
}
}
public class SendMail {
public Project [] projects = {new Project("LC", "email"), new Project("Professional Services", "email"),
new Project("ASP&Support", "email"),new Project("Research&Development", "email")}; //Projekte
public SendMail() {
Statement stmt;
Connection myConn;
try {
Class.forName("com.mysql.jdbc.Driver");
myConn = DriverManager.getConnection(
"jdbc:mysql://127.0.0.1/pr", "root", "h");
stmt = myConn.createStatement();
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
return;
} catch (SQLException e1) {
e1.printStackTrace();
return;
}
Calendar cal = new GregorianCalendar();
cal.setTime(new Date());
//aktuelle Zeit in Millisekunden
long zeit2 = cal.getTimeInMillis();
//aktuele Zeit minus 24 Stunden in Millisekunden
long zeit = zeit2 - (24 * 60 * 60 * 1000);
for (int i=0;i<projects.length;i++){
try {
ResultSet rs;
rs = stmt
.executeQuery("Select m.UserID,p.ProjectID, u.FirstName, u.LastName from Project"+
" as p ,MemberOfProject as m, User as u where p.Name='"+projects.name+
"and m.ProjectID = p.ProjectID and m.UserID = u.UserID");
if (rs != null) {
while (rs.next()) {
ResultSet myResultSet2 = stmt
.executeQuery("Select StartedAT,FinishedAt from Activity "
+ ""
+ "where UserID='"
+ rs.getLong("UserID")
+ "' and ProjectID='"
+ rs.getLong("ProjectID")
+ "'and FinishedAt between '"
+ zeit2
+ "' and '" + zeit + "'");
boolean hat = false;
if (myResultSet2 != null){
hat = true;
}
projects.mitarbeiter.add(new Mitarbeiter(rs.getString("LastName"),
rs.getString("FirstName"), rs.getLong("ProjectID"), hat));
}
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public static void postMail(String recipient, String subject,
String message, String from) throws MessagingException {
Properties props = new Properties();
props.put("mail.smtp.host", "mail.web.de");
Session session = Session.getDefaultInstance(props);
Message msg = new MimeMessage(session);
InternetAddress addressFrom = new InternetAddress(from);
msg.setFrom(addressFrom);
InternetAddress addressTo = new InternetAddress(recipient);
msg.setRecipient(Message.RecipientType.TO, addressTo);
msg.setSubject(subject);
msg.setContent(message, "text/plain");
Transport.send(msg);
}
public static void main(String args[]) throws Exception {
SendMail mail = new SendMail();
String text = "";
String email = "";
for (int i=0; i<mail.projects.length;i++){
email = mail.projects.email;
text = "Hallo";
StringBuffer buffer = new StringBuffer();
for(int n=0;n<mail.projects.mitarbeiter.size();n++){
Mitarbeiter ma = (Mitarbeiter)mail.projects.mitarbeiter.get(n);
text +=("Name: " + ma.vorname + " " + ma.nachname + "\n");
if (ma.has){
text +=("Hat Eintragungen in Zeiterfassung getätigt\n\n");
}else {
text +=("Hat keine Eintragungen in Zeiterfassung getätigt\n\n");
}
}
postMail(email, "Zeiterfassung", text,
"had@web.de");
}
}
}