Erro no executeUpdate() (video aula java swing)
Ola turma,
Eu estou vendo as video aulas Desenvolvendo uma aplicacao completa com Swing e na video aula de teste automatizado esta acusando erro nesta funcao:
public int executeCommand (String query, Object... params) throws SQLException{ PreparedStatement ps = getStatement(query); for (int i = 0; i< params.length; i++){ ps.setObject(i+1, params[i]); }--> int result = ps.executeUpdate();//erro nesta linha ps.close(); return result; }
Esta acusando erro onde marquei com --> esta seta. Mas nao sei qual seria o problema.
Alguem poderia me ajudar?
Obrigado antecipadamente,
John.
Eu estou vendo as video aulas Desenvolvendo uma aplicacao completa com Swing e na video aula de teste automatizado esta acusando erro nesta funcao:
public int executeCommand (String query, Object... params) throws SQLException{ PreparedStatement ps = getStatement(query); for (int i = 0; i< params.length; i++){ ps.setObject(i+1, params[i]); }--> int result = ps.executeUpdate();//erro nesta linha ps.close(); return result; }
Esta acusando erro onde marquei com --> esta seta. Mas nao sei qual seria o problema.
Alguem poderia me ajudar?
Obrigado antecipadamente,
John.
John Mendes
Curtidas 0
Respostas
Dyego Carmo
11/11/2010
poderia me colar a mensagem que está aparecendo e a lista de imports que vc tem na classe ?
GOSTEI 0
John Mendes
11/11/2010
Eu encontrei o erro! Era problema do SQL que eu estava utilizando (mal escrito), porem, o erro agora se da na seguinte linha:
@Test public void testAddUser() throws Exception { System.out.println("addUser"); User usr = new User(); usr.setName("John"); usr.setLogin("login"); usr.setPassword("pass123"); UserDao instance = new UserDao(); idOfUser = instance.addUser(usr); User result = instance.getUser(idOfUser);--> assertEquals(idOfUser, result.getId());//erro nesta linha }
Estou utilizando as classes:import br.com.devmedia.completeswingapp.entity.User;import org.junit.After;import org.junit.AfterClass;import org.junit.Before;import org.junit.BeforeClass;import org.junit.Test;import static org.junit.Assert.*;
E a mensagem de erro e':
Testcase: testAddUser(br.com.devmedia.completeswingapp.dao.UserDaoTest): Caused an ERRORnulljava.lang.NullPointerException at br.com.devmedia.completeswingapp.dao.UserDaoTest.testAddUser(UserDaoTest.java:57)
Testcase: testGetUser(br.com.devmedia.completeswingapp.dao.UserDaoTest): Caused an ERRORIllegal operation on empty result set.java.sql.SQLException: Illegal operation on empty result set. at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:926) at com.mysql.jdbc.ResultSetImpl.checkRowPos(ResultSetImpl.java:815) at com.mysql.jdbc.ResultSetImpl.getInt(ResultSetImpl.java:2593) at com.mysql.jdbc.ResultSetImpl.getInt(ResultSetImpl.java:2734) at br.com.devmedia.completeswingapp.dao.UserDao.populateUserInfo(UserDao.java:50)*** at br.com.devmedia.completeswingapp.dao.UserDao.getUser(UserDao.java:42) at br.com.devmedia.completeswingapp.dao.UserDaoTest.testGetUser(UserDaoTest.java:69)
public static User populateUserInfo(ResultSet rs) throws SQLException { User toReturn = new User();--> toReturn.setId(rs.getInt("idUser"));//userdao.java:50 erro nesta linha *** toReturn.setName(rs.getString("nome")); toReturn.setLogin(rs.getString("login")); toReturn.setPassword(rs.getString("password")); return toReturn; }
@Test public void testAddUser() throws Exception { System.out.println("addUser"); User usr = new User(); usr.setName("John"); usr.setLogin("login"); usr.setPassword("pass123"); UserDao instance = new UserDao(); idOfUser = instance.addUser(usr); User result = instance.getUser(idOfUser);--> assertEquals(idOfUser, result.getId());//erro nesta linha }
Estou utilizando as classes:import br.com.devmedia.completeswingapp.entity.User;import org.junit.After;import org.junit.AfterClass;import org.junit.Before;import org.junit.BeforeClass;import org.junit.Test;import static org.junit.Assert.*;
E a mensagem de erro e':
Testcase: testAddUser(br.com.devmedia.completeswingapp.dao.UserDaoTest): Caused an ERRORnulljava.lang.NullPointerException at br.com.devmedia.completeswingapp.dao.UserDaoTest.testAddUser(UserDaoTest.java:57)
Testcase: testGetUser(br.com.devmedia.completeswingapp.dao.UserDaoTest): Caused an ERRORIllegal operation on empty result set.java.sql.SQLException: Illegal operation on empty result set. at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:926) at com.mysql.jdbc.ResultSetImpl.checkRowPos(ResultSetImpl.java:815) at com.mysql.jdbc.ResultSetImpl.getInt(ResultSetImpl.java:2593) at com.mysql.jdbc.ResultSetImpl.getInt(ResultSetImpl.java:2734) at br.com.devmedia.completeswingapp.dao.UserDao.populateUserInfo(UserDao.java:50)*** at br.com.devmedia.completeswingapp.dao.UserDao.getUser(UserDao.java:42) at br.com.devmedia.completeswingapp.dao.UserDaoTest.testGetUser(UserDaoTest.java:69)
public static User populateUserInfo(ResultSet rs) throws SQLException { User toReturn = new User();--> toReturn.setId(rs.getInt("idUser"));//userdao.java:50 erro nesta linha *** toReturn.setName(rs.getString("nome")); toReturn.setLogin(rs.getString("login")); toReturn.setPassword(rs.getString("password")); return toReturn; }
GOSTEI 0
Dyego Carmo
11/11/2010
Pelo visto o seu resultset não tem nenhum registro dentro...
GOSTEI 0