Jump to content
  • 0

Get Info From Database to Community


Question

Posted

Hello! i'm trying to show info from database into CommunityBoard. I would like to show, if the clan has ClanHall or Fortress, etc. I write this but its getting an error and i dont know why.

 

java.sql.SQLException: Before start of result set
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:996)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:935)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:924)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:870)
        at com.mysql.jdbc.ResultSetImpl.checkRowPos(ResultSetImpl.java:781)
        at com.mysql.jdbc.ResultSetImpl.getStringInternal(ResultSetImpl.java:5239)
        at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5162)
        at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5201)
        at org.apache.commons.dbcp.DelegatingResultSet.getString(DelegatingResultSet.java:263)
        at org.apache.commons.dbcp.DelegatingResultSet.getString(DelegatingResultSet.java:263)
        at l2r.gameserver.model.L2Clan.getHideOutName(L2Clan.java:3014)
        at l2r.gameserver.communitybbs.Managers.ClanBBSManager.clanhome(ClanBBSManager.java:253)
        at l2r.gameserver.communitybbs.Managers.ClanBBSManager.clanhome(ClanBBSManager.java:234)
        at l2r.gameserver.communitybbs.Managers.ClanBBSManager.cbByPass(ClanBBSManager.java:50)
        at l2r.gameserver.communitybbs.BoardsManager.handleCommands(BoardsManager.java:80)
        at l2r.gameserver.network.clientpackets.RequestBypassToServer.runImpl(RequestBypassToServer.java:251)
        at l2r.gameserver.network.clientpackets.L2GameClientPacket.run(L2GameClientPacket.java:71)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

 

 

This is the backEnd.

 

public String getHideOutName(int ownerId)
	{
		String x = null;
		
		try (Connection con = L2DatabaseFactory.getInstance().getConnection();
			PreparedStatement ps = con.prepareStatement("SELECT DISTINCT name FROM `clanhall` cl INNER JOIN `clan_data` c ON cl.ownerId = ?");)
		{
			ps.setInt(1, ownerId);
			ResultSet rs = ps.executeQuery();
			
			x = rs.getString("name");
			
		}
		catch (SQLException e)
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		if (x == null)
		{
			return "None";
		}
		return x;
	}

 

Please, someone can give me a hand with this?.
Thanks!!

3 answers to this question

Recommended Posts

  • 1
Posted (edited)
1 hour ago, barao45 said:

Hello! i'm trying to show info from database into CommunityBoard. I would like to show, if the clan has ClanHall or Fortress, etc. I write this but its getting an error and i dont know why.

 

java.sql.SQLException: Before start of result set
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:996)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:935)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:924)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:870)
        at com.mysql.jdbc.ResultSetImpl.checkRowPos(ResultSetImpl.java:781)
        at com.mysql.jdbc.ResultSetImpl.getStringInternal(ResultSetImpl.java:5239)
        at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5162)
        at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5201)
        at org.apache.commons.dbcp.DelegatingResultSet.getString(DelegatingResultSet.java:263)
        at org.apache.commons.dbcp.DelegatingResultSet.getString(DelegatingResultSet.java:263)
        at l2r.gameserver.model.L2Clan.getHideOutName(L2Clan.java:3014)
        at l2r.gameserver.communitybbs.Managers.ClanBBSManager.clanhome(ClanBBSManager.java:253)
        at l2r.gameserver.communitybbs.Managers.ClanBBSManager.clanhome(ClanBBSManager.java:234)
        at l2r.gameserver.communitybbs.Managers.ClanBBSManager.cbByPass(ClanBBSManager.java:50)
        at l2r.gameserver.communitybbs.BoardsManager.handleCommands(BoardsManager.java:80)
        at l2r.gameserver.network.clientpackets.RequestBypassToServer.runImpl(RequestBypassToServer.java:251)
        at l2r.gameserver.network.clientpackets.L2GameClientPacket.run(L2GameClientPacket.java:71)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

 

 

This is the backEnd.

 

public String getHideOutName(int ownerId)
	{
		String x = null;
		
		try (Connection con = L2DatabaseFactory.getInstance().getConnection();
			PreparedStatement ps = con.prepareStatement("SELECT DISTINCT name FROM `clanhall` cl INNER JOIN `clan_data` c ON cl.ownerId = ?");)
		{
			ps.setInt(1, ownerId);
			ResultSet rs = ps.executeQuery();
			
			x = rs.getString("name");
			
		}
		catch (SQLException e)
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		if (x == null)
		{
			return "None";
		}
		return x;
	}

 

Please, someone can give me a hand with this?.
Thanks!!

First it is necessary to know if what you need is to recover one or several values, if you need several then you must add the values of the result in a list but the following form:
while(rs.next()){ list.add(rs.getString("name")); }
And if you only need to retrieve a single value which is what I assume you want to do, you should limit your result to a by placing at the end of your query Limit 1
And you could put your assignment like this:
x = (rs.getString("name") != null) ? rs.getString("name") : "None";

Edited by TGSLineage2
Guest
This topic is now closed to further replies.


  • Posts

    • LA ERA DE EINHASAD - Lineage 2 en Castellano Lineage II Crónica 4: Vástagos del Destino x5 - Main Class - Full Craft ───────────────────────────── La diosa Einhasad ha despertado... Una nueva era comienza para los verdaderos aventureros. Un mundo completamente traducido al español, fiel al Lineage II original, creado para una comunidad hispanohablante unida por la nostalgia y la pasión. ───────────────────────────── APERTURA OFICIAL: 14 de NOVIEMBRE - 20:00hs (GMT-3) ───────────────────────────── INFORMACIÓN PRINCIPAL Rates: x5 Tipo: Main Class Sistema: Full Craft Idioma: 100% Español (traducción completa del juego) Comunidad hispanohablante Balance original con mínimas modificaciones Buffer Offline, los jugadores pueden crear sus tiendas de buffs Progresión de crónicas cada 4 meses aprox. Economía estable - Sin Pay to Win - No venta de items/adena por donación Comunidad de 1.000 personas Anterior versión x1 duro casi 3 años con 952 IPs distintas de pico ───────────────────────────── CARACTERÍSTICAS DESTACADAS Experiencia fiel al Lineage II clásico, sin alteraciones invasivas Interfaz, diálogos y objetos completamente en español Ventana de comunidad con servicios personalizados y comercio por Monedas de Oro Olimpiadas, Épicos y Asedios originales Recompensas por votación, Eventos TVT con 3 arenas diferentes. Participan todos sin importar el nivel, pero dentro de la arena solo se atacan por rango cercano Soporte activo y presencia constante del administrador Tickets de soporte con atención rápida en Discord ante cualquier problema ───────────────────────────── ENLACES OFICIALES Website: La Era de Einhasad Discord: https://discord.com/invite/A6PtCCN2SF ───────────────────────────── Una comunidad unida por el idioma, la pasión y la nostalgia. Redescubrí Aden… en tu propio idioma. Bienvenido a La Era de Einhasad.  
    • English you belarus retard ) Seems you so desperate and angry cant even speak back in EN, well guys you see how its easy to destroy scammer xD
    • Чувак) мне на него насрать давно, ты не мне сделал подлянку а людям которые купили и используют. Я его удалил год назад) когда закрыл продажи.   мне вообще похер кто ты и что ты.    Можешь сесть и попрыгать на тот же член на котором ты прыгаешь все это время) и этой версии более 3х лет) ты откопал залупу мамонта , поздравляю)) кто скачает это дерьмо используйте на свой страх и риск)) кто знает что там наворочено)))  удачи в шаринге обиженный жизнью неандерталец.   Можешь лизнуть мое очко на прощание.
    • Rosyk or rusik or whatever u blaim me that my mouth stinks but I assume you the one who stinks and your perfect pack will be now shared and you can suck a DICK )  https://eu2.contabostorage.com/d4b39866f6bb4084b6c969ec8fe20063:kita/Lucera_Classic_Remaster/Lucera Classic Remaster Server and Datapack files.rar  https://eu2.contabostorage.com/d4b39866f6bb4084b6c969ec8fe20063:kita/Lucera_Classic_Remaster/Lucera Classic Remaster Eng Client.rar Drama link    For this crap u need Lucera 2 classic license ) people paying 300 euros for this shit  lol Some Shit will come out soon mxc website need shake it a bit coz getting boring here )    Whats happen rosyk lost speach  xD Your pack was downloded  29 times bussines  not going as plan xD?
  • Topics

×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock