"tradução" de linguagens?

4 respostas
H

Boa tarde, pessoal!!
tudo bem??
Seguinte…
eu tenho essa estrutura de comandos em php que tá funcionando certinho, mas eu preciso urgente traduzir ela para alguma coisa compativel com java…
segue o código:

mysql_query("SET ISOLATION LEVEL SERIALIZABLE"); 
mysql_query("START TRANSACTION");
//===============================================================
$query = mysql_query("SELECT * FROM tabela WHERE ( {$concreto} ) AND capture ='0' AND email NOT in('[email removido]') AND  telefone <> '' AND telefone NOT LIKE '0000' AND solicitado = '0' AND time_to_sec(timediff(now(),block))> $tempo2 AND data between '$dataRecebidaDoOperador' AND '$dataRecebidaDoOperador2'  AND origem not in('', 'pergunta')  AND boleto_enviado <>'1' AND situacao NOT IN ('3','4','6','7','8','5') limit 1 LOCK IN SHARE MODE;"); 

$linhas=mysql_num_rows($query);
$x="0";
  for($x;$x<$linhas;$x++)
  {
  $codigoDoCliente=mysql_result($query,$x,'codigo');
  }
//===============================================================
if($linhas >'0'){
mysql_query("UPDATE tabela SET capture='$cripto' WHERE codigo=$codigoDoCliente");
}
mysql_query("COMMIT");

é muito trabalhoso???não sei traduzir isso, vocês me ajudam???
Obrigado

4 Respostas

francislon

O que você sabe de Java?

H

eu sei um pouco, sou iniciante ainda , mas já fiz alguns projetos a titulo de estudo, trabalho ocm php há um bom tempo e me considero razoável, dou conta do recado, digamos assim, java ainda estou aprendendo, mas ainda tenho dificuldade de “enxregar” em java, e sintaxe ,mesmo sabe? sei a logica de como fazer, mas ainda não domino a linguagem…

francislon

O que eu posso aconselhar a você por hora é conhecer a API de acesso a bancos de dados: http://download.oracle.com/javase/tutorial/jdbc/

jamirdeajr
Segue ai mais ou menos como deveria ficar usando JDBC... omiti a parte básica de fazer a conexão, fechar etc. Obs: São necessárias adaptações!
// Begin Transaction
			con.setAutoCommit(false);
			
			// TRANSACTION_SERIALIZABLE = 8
			con.setTransactionIsolation(8);
			
			// Basicamente um select que limita em 1 o resultado e faz LOCK do registro lido... 
                        // não sei se precisa fazer algum unlock depois, verifique isso!  TODO 
			String sql="SELECT * FROM tabela WHERE ( :concreto ) AND capture ='0' AND " +
					"email NOT in('[email removido]') AND  telefone <> '' AND telefone NOT LIKE '0000' " +
					"AND solicitado = '0' AND time_to_sec(timediff(now(),block))> :tempo2 AND " +
					"data between :dataRecebidaDoOperador AND :dataRecebidaDoOperador2  AND" +
					" origem not in('', 'pergunta')  AND boleto_enviado <>'1' AND " +
					"situacao NOT IN ('3','4','6','7','8','5') limit 1 LOCK IN SHARE MODE;";
					
			PreparedStatement pst=con.prepareStatement(sql);
			
			// Não devem ser Strings, adapte para os tipos corretos 
			pst.setString(1, concreto); // @concreto , imagino que seja alguma expressão SQL
			pst.setString(2 ,tempo2); 
			pst.setString(3 ,dataRecebidaDoOperador); 
			pst.setString(4 ,dataRecebidaDoOperador2);
			
			
			// Essa parte está muito estranha, se o select acima já limitou em 1, então linhas ou é ZERO ou é UM
			// porque fazer um loop??   
			 
			//$linhas=mysql_num_rows($query);
			//$x="0";
  			//for($x;$x<$linhas;$x++)
  			//{
  			//$codigoDoCliente=mysql_result($query,$x,'codigo');
  			//}
			
			ResultSet rs=pst.executeQuery();
					
			// Faz o UPDATE necessário se retornou 1 registro 
			if(rs.next()){
			
				// de novo, não deve ser String, veja o tipo correto...
				codigo = rs.getString("codigo");
				
				// cripto deve ser algum parametro...
				
				//UPDATE tabela SET capture='$cripto' WHERE codigo=$codigoDoCliente");
				sql = "UPDATE tabela SET capture=? WHERE codigo=?";
				pst=con.prepareStatement(sql);
				
				
				pst.setString(1 ,cripto); 
				pst.setString(2 ,codigo); 
				pst.executeUpdate();
				
			}
			
			// Se tudo certo, confirma o que foi feito - Coloque sua condição de sucesso... 
			con.commit();
Criado 26 de março de 2011
Ultima resposta 27 de mar. de 2011
Respostas 4
Participantes 3