Pegar dado SQL executar protocolo salvar ação SQL

2 respostas
M

JSP não é minha area, entao vim pedir ajuda de vocês, refiz o topico fazendo corretamente.

O CODIGO ESTÁ FUNCIONANDO PERFEITAMENTE:

É um script de um jogo para fazer entrega no correio do jogo.

Gostaria de fazer algumas modificações nele:

Gostaria que o ROLEID fosse lido de uma tabela no SQL:

A tabela teria:

ID | ROLEID | ENTREGUE

1 | 10 | 0 |

Ao executar o protocolo salvaria para 1 ( Informando que foi entregue )
Teria diversos ROLEID para entregar, para evitar erro acho que teria um sleep para garantir.

O items.jsp teria a lista de itens a serem entregues.

Caso algum freelancer esteja interessado so entrar em contato.

INDEX.JSP

<%@page import="java.util.*"%>
<%@page import="protocol.*"%>
<%@page import="com.goldhuman.Common.Octets"%>
<%@include file="../../WEB-INF/.acesso.jsp"%>
<%@include file="items.jsp"%>

<%!
	byte[] hextoByteArray(String x)
  	{
    		if (x.length() < 2)
		{
      			return new byte[0];
		}
    		if (x.length() % 2 != 0)
		{
      			System.err.println("hextoByteArray error! hex size=" + Integer.toString(x.length()));
    		}
    		byte[] rb = new byte[x.length() / 2];
   		for (int i = 0; i < rb.length; ++i)
    		{
      			rb[i] = 0;

      			int n = x.charAt(i + i);
      			if ((n >= 48) && (n <= 57))
        			n -= 48;
      			else
				if ((n >= 97) && (n <= 102))
        				n = n - 97 + 10;
      					rb[i] = (byte)(rb[i] | n << 4 & 0xF0);

      					n = x.charAt(i + i + 1);
      					if ((n >= 48) && (n <= 57))
        					n -= 48;
      					else
					if ((n >= 97) && (n <= 102))
        					n = n - 97 + 10;
      				rb[i] = (byte)(rb[i] | n & 0xF);
    	}
    	return rb;
  }
%>

<%
	String message = "<br>";
	boolean allowed = false;

	if(request.getSession().getAttribute("ssid") == null)
	{
		message = "<font color=\"#ee0000\"><b>Login to use Send Mail...</b></font>";
	}
	else
	{
		allowed = true;
	}
%>

<%
	if(allowed && request.getParameter("process") != null && request.getParameter("process").compareTo("mail") == 0)
	{
		if(request.getParameter("title") != "" && request.getParameter("content") != "" && request.getParameter("coins") != "" && request.getParameter("itemnumber") != "")
		{
		Class.forName("com.mysql.jdbc.Driver").newInstance();
		Connection connection = DriverManager.getConnection("jdbc:mysql://" + db_host + ":" + db_port + "/" + db_database, db_user, db_password);
		Statement statement = connection.createStatement();
		ResultSet rs;
	


                     int roleid = Integer.parseInt(request.getParameter("roleid"));
			String title = request.getParameter("title");
			String content = request.getParameter("content");
			int coins = Integer.parseInt(request.getParameter("coins"));

			int itemnumber = Integer.parseInt(request.getParameter("itemnumber"));
			GRoleInventory gri = new GRoleInventory();

			if(itemnumber > 0)
			{
				gri.id = Integer.parseInt(items[itemnumber][0]);
				gri.guid1 = 0;
				gri.guid2 = 0;
				gri.mask = 1;
				gri.proctype = 0;
				gri.pos = 0;
				gri.count = 1;
				gri.max_count = 1;
				gri.expire_date = 0;
				gri.data = new Octets(hextoByteArray(items[itemnumber][2]));
			}

			if(protocol.DeliveryDB.SysSendMail(roleid, title, content, gri, coins))
			{
				message = "<font color=\"#00cc00\"><b>Mail Send</b></font>";
			}
			else
			{
				message = "<font color=\"#ee0000\"><b>Sending Mail Failed</b></font>";
			}
		}
		else
		{
			message = "<font color=\"#ee0000\"><b>Enter Valid Values</b></font>";
		}
	}
%>

<html>

<head>
	<link rel="shortcut icon" href="../../include/fav.ico">
	<link rel="stylesheet" type="text/css" href="../../include/style.css">
</head>

<body>

<form action="index.jsp?process=mail" method="post">

<table align="center" width="480" cellpadding="2" cellspacing="0" style="border: 1px solid #cccccc;">
	<tr>
		<th height="1" colspan="2" style="padding: 5;">
			<b>SEND MAIL</b>
		</th>
	</tr>
	<tr bgcolor="#f0f0f0">
		<td colspan="2" align="center" height="1">
			<% out.print(message); %>
		</td>
	</tr>
	<tr>
		<td height="1">
			Role ID:
		</td>
		<td height="1">
			<input type="text" name="roleid" style="width: 100%; text-align: left;"></input>
		</td>
	</tr>
	<tr>
		<td height="1">
			Title:
		</td>
		<td height="1">
			<input type="text" name="title" style="width: 100%; text-align: left;"></input>
		</td>
	</tr>
	<tr>
		<td height="1" valign="top">
			Content:
		</td>
		<td height="1">
			<textarea name="content" rows="5" style="width: 100%; text-align: left;"></textarea>
		</td>
	</tr>
	<tr>
		<td height="1">
			Coins:
		</td>
		<td height="1">
			<input type="text" name="coins" value="0" style="width: 100%; text-align: left;"></input>
		</td>
	</tr>
	<tr>
		<td height="1">
			Item ID:
		</td>
		<td height="1">
			<select name="itemnumber" style="width: 100%; text-align: left;">
				<%
					for(int i=0; i<items.length; i++)
					{
						out.println("<option value=\"" + i + "\">" + items[i][0] + " - " + items[i][1] + "</option>");
					}
				%>
			</select>
		</td>
	</tr>
	<tr bgcolor="#f0f0f0">
		<td colspan="2" align="center" height="1">
			<input type="image" src="../../include/btn_submit.jpg" style="border: 0;"></input>
		</td>
	</tr>
</table>

</form>

</body>

</html>

ITEMS.JSP

<%
	// item DB for send mail
	// items[index][0] -> item id
	// items[index][1] -> item name
	// items[index][2] -> xml octets for this item

	String[][] items = 
	{
		{"0", "none", ""},
		{"23849", "C17 Dual Axes", "5f00ff000500000005000000a8480000a84800002c00030000000000090000000c000000000000001d020000860300000000000000000000180000000000a040000000000000000000000000"},
		{"23861", "C17 Pike", "5f00ff000500000005000000b04f0000b04f00002c00030000000000050000000c00000000000000310200001204000000000000000000001400000000006040000000000000000000000000"},
		{"23885", "C17 Pataka", "5f00ff00050000000500000060220000602200002c00030000000000240100000c000000000000007601000031020000a80200003f0300001400000000004040000000000000000000000000"}
	};
%>

2 Respostas

ssh

Primeiramente, poste seu código dentro das tags [code ] [/ code].

Segundo, todo try exige a utilização do catch ou finally.

posta dentro da tag code, que olho melhor o resto.

Hebert_Coelho

Como o ssh disse, coloque seu código entre as tags code.

Outra coisa, você leu o erro? Está bem claro:

<blockquote>An error occurred at line: 62 in the jsp file: /addons/kit/index3.jsp

Type mismatch: cannot convert from String to int

59: String dataexp = request.getParameter(dataexp);

60:

61: GRoleInventory gri = new GRoleInventory();

62: gri.id = iditem; <---------------------------------------------------

63: gri.guid1 = 0;

64: gri.guid2 = 0;

65: gri.mask = maskitem; </blockquote>
Criado 24 de novembro de 2011
Ultima resposta 24 de nov. de 2011
Respostas 2
Participantes 3