All pastes #3992 Raw Edit

Anonymous

public text v1 · immutable
#3992 ·published 2005-01-10 07:10 UTC
rendered paste body
changed to this(where format changed):
			{
				String chr = st.nextToken();
				String cmd = "UPDATE characters SET x = -84318, y = 244579, z = -3730 WHERE char_name = '"+chr+"'";	//fixed
				java.sql.Connection connection = null;
				try
				{
					connection = L2DatabaseFactory.getInstance().getConnection();
					PreparedStatement statement = connection.prepareStatement(cmd);
					statement.execute();
					statement.close();

					connection = L2DatabaseFactory.getInstance().getConnection();
					statement = connection.prepareStatement("SELECT obj_id FROM characters where char_name = '"+chr+"'");	//fixed
					ResultSet rset = statement.executeQuery();

					
					int obj_id = rset.getInt(1);
					
					rset.close();
					statement.close();
					
					connection = L2DatabaseFactory.getInstance().getConnection();
					statement = connection.prepareStatement("DELETE FROM character_shortcuts WHERE char_obj_id="+obj_id);	//fixed
					statement.setInt(1, obj_id);
					statement.execute();
					statement.close();
					
					
					connection = L2DatabaseFactory.getInstance().getConnection();
					statement = connection.prepareStatement("UPDATE character_inventory SET equipSlot = -1 WHERE char_obj_id = ?"+obj_id);	//fixed
					statement.setInt(1, obj_id);
					statement.execute();
					statement.close();

				}


got:
java.sql.SQLException: Before start of result set
	at com.mysql.jdbc.ResultSet.checkRowPos(ResultSet.java:3620)
	at com.mysql.jdbc.ResultSet.getString(ResultSet.java:1758)
	at com.mysql.jdbc.ResultSet.getInt(ResultSet.java:1251)
	at com.mchange.v2.sql.filter.FilterResultSet.getInt(FilterResultSet.java:373)
	at net.sf.l2j.gameserver.clientpackets.Say2.<init>(Say2.java:231)
	at net.sf.l2j.gameserver.PacketHandler.handlePacket(PacketHandler.java:274)
	at net.sf.l2j.gameserver.ClientThread.run(ClientThread.java:221)




tried this (while added):
			{
				String chr = st.nextToken();
				String cmd = "UPDATE characters SET x = -84318, y = 244579, z = -3730 WHERE char_name = '"+chr+"'";
				java.sql.Connection connection = null;
				try
				{
					connection = L2DatabaseFactory.getInstance().getConnection();
					PreparedStatement statement = connection.prepareStatement(cmd);
					statement.execute();
					statement.close();

					connection = L2DatabaseFactory.getInstance().getConnection();
					statement = connection.prepareStatement("SELECT obj_id FROM characters where char_name = '"+chr+"'");
					ResultSet rset = statement.executeQuery();
					while (rset.next()) {		//added this to test
					
					int obj_id = rset.getInt(1);
					
					rset.close();
					statement.close();
					
					connection = L2DatabaseFactory.getInstance().getConnection();
					statement = connection.prepareStatement("DELETE FROM character_shortcuts WHERE char_obj_id="+obj_id);
					statement.setInt(1, obj_id);
					statement.execute();
					statement.close();
					
					
					connection = L2DatabaseFactory.getInstance().getConnection();
					statement = connection.prepareStatement("UPDATE character_inventory SET equipSlot = -1 WHERE char_obj_id = ?"+obj_id);
					statement.setInt(1, obj_id);
					statement.execute();
					statement.close();
					}							//close
				}

got:
could not move char:java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0).
java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0).
	at com.mysql.jdbc.PreparedStatement.setInternal(PreparedStatement.java:2032)
	at com.mysql.jdbc.PreparedStatement.setInternal(PreparedStatement.java:2062)
	at com.mysql.jdbc.PreparedStatement.setInt(PreparedStatement.java:558)
	at com.mchange.v2.sql.filter.FilterPreparedStatement.setInt(FilterPreparedStatement.java:143)
	at net.sf.l2j.gameserver.clientpackets.Say2.<init>(Say2.java:239)
	at net.sf.l2j.gameserver.PacketHandler.handlePacket(PacketHandler.java:274)
	at net.sf.l2j.gameserver.ClientThread.run(ClientThread.java:221)