Hi!
Here is a sample of my code, where I have the problem:
package listeners;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.List;
import model.MyTableModel;
import model.UserDTO;
import util.DataBase;
import util.Functions;
import util.NamesUtil;
import frames.AddFrame;
public class MenuAction implements ActionListener
{
private MyTableModel model;
private Functions nameOperations;
private UserDTO user;
public MenuAction(MyTableModel tableModel)
{
this.model = tableModel;
}
@Override
public void actionPerformed(ActionEvent e)
{
String action = e.getActionCommand();
if (action.equals("Connect"))
{
System.out.println("It's connected.");
}
if (action.equals("Add"))
{
insertRow();
}
if (action.equals("Close"))
{
System.exit(0);
}
}
private void insertRow()
{
List<UserDTO> userList = model.getDataList();
user = new UserDTO();
user.setFirstName("Paul");
user.setLastName("bla123");
userList.add(user);
model.fireTableRowsInserted(0, model.getRowCount());
nameOperations.addDataToBase(user);
}
}
-----
package util;
import java.util.List;
import model.UserDTO;
public interface Functions
{
public List<UserDTO> getDataFromBase();
public void addDataToBase(UserDTO user);
}
-----
package util;
import java.io.IOException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import prop.JDBC;
import model.UserDTO;
public class DataBase implements Functions
{
public List<UserDTO> getDataFromBase()
{
List<UserDTO> data = null;
try {
data = new ArrayList<UserDTO>();
Connection conn = JDBC.getConnection();
Statement stat = conn.createStatement();
String select = "SELECT IDuser, login, password FROM users;";
ResultSet rs = stat.executeQuery(select);
UserDTO user = null;
while (rs.next()) {
String name = rs.getString("login");
String lname = rs.getString("password");
int id = rs.getInt("IDuser");
user = new UserDTO();
user.setUserId(id);
user.setLogin(login);
user.setPassword(passwd);
data.add(user);
}
conn.close();
stat.close();
rs.close();
}
catch (SQLException ex) {
for (Throwable t : ex)
t.printStackTrace();
}
catch (IOException ex) {
ex.printStackTrace();
}
return data;
}
@Override
public void addDataToBase(UserDTO user)
{
try {
Connection conn = JDBC.getConnection();
Statement stat = conn.createStatement();
stat.executeUpdate("insert into users(login,password) values('"+ user.getLogin() +"','"+ user.getPassword()+"');");
conn.close();
stat.close();
}
catch (SQLException ex) {
for (Throwable t : ex)
t.printStackTrace();
}
catch (IOException ex) {
ex.printStackTrace();
}
}
}
-----
When I want to use the
user in nameOperations.addDataToBase() - in the first class - I'm getting +"Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException"+.
In the table I made in swing login and password has appeared but in the base not. Can someone know how to help me?
Edited by: user9357487 on 2010-09-29 22:56