Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Ricardo Barbosa_76179

Try catch com if

Recommended Posts

Ola, Estou tentando escrever dados no banco por Scripts PHP
Segue o Script
<?php

  //$Estado=$_GET['Estado'];
  //$NumeroLinha=$_GET['NumeroLinha'];
  //$NumeroOnibus=$_GET['NumeroOnibus'];
  //$Horario=$_GET['Horario'];
  //$Terminal=$_GET['Terminal'];
  //$Ocorrencia=$_GET['Ocorrencia'];
  //$Observacao=$_GET['Observacao'];


  $Estado=$_POST['Estdo'];
  $NumeroLinha=$_POST['NumeroLinha'];
  $NumeroOnibus=$_POST['NumeroOnibus'];
  $Horario=$_POST['Horario'];
  $Terminal=$_POST['Terminal'];
  $Ocorrencia=$_POST['Ocorrencia'];
  $Observacao=$_POST['Observacao'];




  $conexao = mysql_connect( 'localhost','root','');
  mysql_select_db('seift_bd',$conexao);

  $sql="insert into Registros(Estado,NumeroLinha,NumeroOnibus,Horario,Terminal,Ocorrencia,Observacao )
  values('$Estado','$NumeroLinha','$NumeroOnibus','$Horario','$Terminal','$Ocorrencia','$Observacao')";
  
  
  $resultado = mysql_query($sql)or die ("Erro.:" . mysql_error());
  if ($resultado)
  echo '1';
  else
  echo 0;

?>

 

E invoco o script no código, porme quando executo, os dados são escritos no banco porem a condicional dentro do try sempre da a mensagem "Os dados não foram gravados"
Segue o código
package example.s.e.i.f.t;

import java.util.ArrayList;

import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class Confirm extends Activity {
TextView mostrarestado, mostrartudo ,mostrartudo2, mostrartudo3 ,mostrartudo4, mostrartudo5, mostrartudo6;
Button btconfirma, voltar3;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_confirm);
        
        mostrarestado = (TextView) findViewById(R.id.MostrarEstado);
        mostrartudo = (TextView) findViewById(R.id.MostrarTudo);
        mostrartudo2 = (TextView) findViewById(R.id.MostrarTudo2);
        mostrartudo3 = (TextView) findViewById(R.id.MostrarTudo3);
        mostrartudo4 = (TextView) findViewById(R.id.MostrarTudo4);
        mostrartudo5 = (TextView) findViewById(R.id.MostrarTudo5);
        mostrartudo6 = (TextView) findViewById(R.id.MostrarTudo6);
        
        btconfirma = (Button) findViewById(R.id.btConfirma);
        voltar3 = (Button) findViewById(R.id.btVoltar3);
        
    Intent passa = getIntent();
    
    Bundle oque = passa.getExtras();
    
    final String Estado = oque.getString("SC");
    final String NL = oque.getString("NL");
    final String NC = oque.getString("NC");
    final String Horario = oque.getString("Horario");
    final String Terminal = oque.getString("Terminal");
    final String Ocorrencia = oque.getString("Ocorrencia");
    final String Observacao = oque.getString("Observacao");
    
    mostrarestado.setText("O ônibus estava de:" +Estado);
    mostrartudo.setText("Número da linha:"+NL);
    mostrartudo2.setText("Número do Ônibus:"+NC);
    mostrartudo3.setText("Horario de Cheaga:"+Horario);
    mostrartudo4.setText("Terminal:"+Terminal);
    mostrartudo5.setText("Ocorrência:"+Ocorrencia);
    mostrartudo6.setText("Observação:"+Observacao);
    
        
        
        btconfirma.setOnClickListener(new View.OnClickListener() {
            
            @Override
            public void onClick(View v) {

                String url ="http://192.168.1.2/BD_SEIFT/InsereRegistrosFormulario.php";
                
                final ArrayList<NameValuePair> parametrosPost = new ArrayList<NameValuePair>();
                parametrosPost.add(new BasicNameValuePair("Estado",Estado));
                parametrosPost.add(new BasicNameValuePair("NumeroLinha",NL));
                parametrosPost.add(new BasicNameValuePair("NumeroOnibus",NC));
                parametrosPost.add(new BasicNameValuePair("Horario",Horario));
                parametrosPost.add(new BasicNameValuePair("Terminal",Terminal));
                parametrosPost.add(new BasicNameValuePair("Ocorrencia",Ocorrencia));
                parametrosPost.add(new BasicNameValuePair("Observacao",Observacao));
                
                Log.i("parametros", ""+parametrosPost.toString());
                String respostaRetornada = null;
                
                try{
                    respostaRetornada = Database.executaHttpPost(url, parametrosPost);
                    String resposta = respostaRetornada.toString();
                    Log.i("Enviar","respota"+resposta);
                    resposta = resposta.replaceAll("\\s", "");
                    
                    if(resposta.equals("1")){
                        Toast.makeText(Confirm.this, "Dados gravados com sucesso!", Toast.LENGTH_SHORT).show();
                        startActivity(new Intent(Confirm.this,Menus.class));
                    }else{
                        Toast.makeText(Confirm.this,"Os dados não foram gravados", Toast.LENGTH_LONG).show();
                    }
                }catch(Exception erro){
                    
                    Toast.makeText(Confirm.this, "Erro.:"+erro,  Toast.LENGTH_LONG).show();
                    
                }
                
                
            }
        });
        
        voltar3.setOnClickListener(new View.OnClickListener() {
            
            @Override
            public void onClick(View v) {
                startActivity(new Intent(Confirm.this,Formulario.class));
                
            }
        });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.confirm, menu);
        return true;
    }

}

 

 

O logCat já me informou que a resposta retornada é 1, ainda sim a condicional só cai no else. O mais estranho é que uso o mesmo código para fazer o login no sistema...
Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como o retorno vem de um script PHP, no qual a saída é o "browser", o seu [inline]'1'[/inline] pode ser [inline]' 1'[/inline] ou [inline]'1 '[/inline] ou até [inline]' 1 '[/inline].

 

Para evitar esses problemas, utilize um trim() ao seu retorno:

if(resposta.trim().equals("1")) {

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.