[Resolvido] Como salvar dados de dois campos em uma mesma coluna da tabela?

Como salvar dados de dois campos em uma mesma coluna da minha tabela?

Exemplo

Possuo uma tabela que receberá nas linhas de uma determinada coluna várias atualizações.

Exemplo FORMULÁRIO

CAMPO 1 digito o valor teste01
CAMPO 2 digito o valor teste02

Ao clicar no botão ele chama o método que deve realizar o update na tabela INFOAMOSTRA.

Estrutura das tabelas

tabelas que vão gerar UM N:N

INFORMACAO COM CAMPO IDINFO (PK)
AMOSTRA COM CAMPO IDAMOSTRA (PK)

TABELA QUE É RESULTADO DAS DUAS E QUE PRECISO ATUALIZAR OS DADOS

INFOAMOSTRA COM OS CAMPOS:

IDAMOSTRA (FK)
IDINFO (FK)
DADOSFORMULARIO (varchar)

Eu preciso que fique desta forma

IDAMOSTRA IDINFO DADOSFORMULARIO
1-----------------1-------------teste01
1-----------------1-------------teste02

O meu problema está quando eu seto as informações dos campos.

Estou setando assim.


String idIpinners = String.valueOf(escolha[j].getSelectedItemId());
                            	
infoAmostra.setVlInfo(editText[j].getEditableText().toString());
infoAmostra.setVlInfo(idIpinners);

Ele só envia corretamente os dados do segundo infoAmostra.setVlInfo. Neste caso dos campos Spinners que tenho no meu formulário.

O resto da informações sai vazio ou com caracteres diferentes.

Não sei como resolver isto.

Por favor, se alguém puder me ajuda eu agradeço e muito.

Segue a classe completa



package br.com.mylims.controller;  
  
  
import java.io.FileOutputStream;
import java.util.List;  
  
import br.com.mylims.auxiliares.MeuSpinnerAdapter;
import br.com.mylims.bean.Info;  
import br.com.mylims.bean.InfoAmostra;
import br.com.mylims.bean.OpcoesInfo;
import br.com.mylims.model.ColetaDao;  
  
import android.R.integer;
import android.app.Activity;  
import android.content.Intent;  
import android.os.Bundle;  
import android.util.Log;  
import android.view.View;  
import android.view.ViewGroup.LayoutParams;  
  
import android.widget.ArrayAdapter;
import android.widget.Button;  
import android.widget.EditText;  
import android.widget.LinearLayout;  
import android.widget.RadioButton;  
import android.widget.RadioGroup;  
import android.widget.ScrollView;  
import android.widget.Spinner;
import android.widget.Toast;  
  
import android.widget.TextView;  
  
public class TesteCadastroColeta_2 extends Activity{  
      
	private static final String CATEGORIA = "coleta";
	
	private static final String ARQUIVO = "coleta.xml";
      
      
        private TextView nomeInfoTipo1;  
        private TextView nomeInfoTipo2;  
        private TextView nomeInfoTipo3;  
        private TextView nomeInfoTipo4;  
        private TextView nomeInfoTipo5;  
        private EditText[] editText;  
        private EditText[] texto;  
        private EditText[] numerico;  
        private EditText[] numericoFracionario;  
        private EditText[] dataHora; 
        private Spinner[] escolha;
        
    
        ColetaDao coletaDao = new ColetaDao(this); 
        
        private InfoAmostra infoAmostra = new InfoAmostra();
        
       
    public void onCreate(Bundle icicle){  
          
        super.onCreate(icicle);  
          
        Bundle extras = getIntent().getExtras();  
          
        final String idAmostra = extras.getString("idAmostra");  
          
        final List<Info> infos = coletaDao.listaColeta(idAmostra);  
          
        ScrollView s = new ScrollView(this);  
        s.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));  
          
        LinearLayout linearLayout = new LinearLayout(this);  
        linearLayout.setOrientation(LinearLayout.VERTICAL);  
           
         final int totalDados = coletaDao.listaColeta(idAmostra).size();  
         
         editText = new EditText[totalDados];
         texto    = new EditText[totalDados];  
         numerico = new EditText[totalDados];  
         dataHora = new EditText[totalDados];
         numericoFracionario = new EditText[totalDados];
         escolha = new Spinner[totalDados];
      
         
         for (int i = 0; i < totalDados; i++){  
              
             try{   
               
            int recuperaTipoDado = infos.get(i).getCodTipoDado();  /**RECUPERA O ID DO TIPODADO**/  
               
            int recuperaIdInfo = infos.get(i).getCodInfo(); /**RECUPERA O CDINFO**/
        
            /**CHAMA O METODO PARA POPULAR OS CAMPOS SPINNERS**/
                         
            nomeInfoTipo1 = new TextView(this);  
            nomeInfoTipo2 = new TextView(this);  
            nomeInfoTipo3 = new TextView(this);  
            nomeInfoTipo4 = new TextView(this);  
            nomeInfoTipo5 = new TextView(this);  
            
            editText[i] = new EditText(this); /**CAMPO DO TIPO TEXTO QUE RECEBERA OS SEGUINTES CAMPOS (1-TEXTO, 2-NUMERICO, 3-NUMERICO FRACIONARIO, 4-DATA E HORA)**/  
              
            texto[i] = new EditText(this); /**CAMPO DO TIPO TEXTO**/  
            numerico[i] = new EditText(this); /**CAMPO DO TIPO NUMERICO**/  
            numericoFracionario[i] = new EditText(this); /**CAMPO DO TIPO NUMERICO FRACIONARIO**/  
            dataHora[i] = new EditText(this); /**CAMPO DO TIPO **/  
              
            escolha[i] = new Spinner(this);
              
            texto[i].setWidth(50);  
            numerico[i].setWidth(50);  
            numericoFracionario[i].setWidth(50);  
            dataHora[i].setWidth(50);  
              
            switch (recuperaTipoDado) {  
              
            case 1:  
                  
                nomeInfoTipo1.setText(infos.get(i).getNomeInfo());  
                linearLayout.addView(nomeInfoTipo1);  
                editText[i] = texto[i];  
                editText[i].setText("");  
                editText[i].setHeight(40);  
                editText[i].setInputType(android.text.InputType.TYPE_CLASS_TEXT);  
                editText[i].setId(recuperaIdInfo);  
                  
                linearLayout.addView(editText[i]);  
                  
                  
            break;  
              
            case 2:  
                  
                nomeInfoTipo2.setText(infos.get(i).getNomeInfo());  
                linearLayout.addView(nomeInfoTipo2);  
                  
                editText[i] = numerico[i];  
                editText[i].setText("");  
                editText[i].setHeight(40);  
                  
                editText[i].setInputType(android.text.InputType.TYPE_CLASS_NUMBER);  
                editText[i].setId(recuperaIdInfo);  
                  
                linearLayout.addView(editText[i]);  
                  
            break;  
              
            case 3:  
                  
                nomeInfoTipo3.setText(infos.get(i).getNomeInfo());  
                linearLayout.addView(nomeInfoTipo3);  
                  
                editText[i] = numericoFracionario[i];  
                editText[i].setText("");  
                editText[i].setHeight(40);  
                  
                editText[i].setInputType(android.text.InputType.TYPE_NUMBER_FLAG_DECIMAL);  
                editText[i].setId(recuperaIdInfo);  
                  
                linearLayout.addView(editText[i]);  
                  
                  
            break;  
              
            case 4:  
                
            	
                nomeInfoTipo4.setText(infos.get(i).getNomeInfo());  
                linearLayout.addView(nomeInfoTipo4);  
                  
                editText[i] = dataHora[i];  
                editText[i].setText("");  
                editText[i].setHeight(40);  
                  
                editText[i].setInputType(android.text.InputType.TYPE_CLASS_DATETIME);  
                editText[i].setId(recuperaIdInfo);  
                  
                linearLayout.addView(editText[i]);  
                  
            break;  
              
            case 5:  
                
            	List<OpcoesInfo> opcInf = coletaDao.listaDadosSpinners(String.valueOf(recuperaIdInfo));
            	
            	nomeInfoTipo5.setText(infos.get(i).getNomeInfo());
                linearLayout.addView(nomeInfoTipo5);  
                
                ArrayAdapter adaptador = new ArrayAdapter(this, android.R.layout.simple_spinner_item, opcInf);
                adaptador.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
           	    
                escolha[i].setAdapter(new MeuSpinnerAdapter<OpcoesInfo>(this, opcInf, new String[] {"nomeOpcao" }));
               
                linearLayout.addView(escolha[i]);  
                  
            break;  
              
              
            } // fim swith  
              
              
        }catch (Exception ex) {  
              
            Log.i(CATEGORIA, "Exception ex" + ex + "FOR: " + (i));  
        }  
              
      
     } // fim for  
           
          
           
            LinearLayout linearLayout2 = new LinearLayout(this);  
            linearLayout2.setOrientation(LinearLayout.HORIZONTAL);  
              
            Button botaoCadastrar = new Button(this);  
            botaoCadastrar.setText("CADASTRAR");  
            linearLayout2.addView(botaoCadastrar);  
              
            Button botalVoltar = new Button(this);  
            botalVoltar.setText("VOLTAR");  
            linearLayout2.addView(botalVoltar);  
              
              
         
            /**BOTAO CADASTRAR**/  
              
            botaoCadastrar.setOnClickListener(new View.OnClickListener() {  
                  
                @Override  
                public void onClick(View v) {  
                      
                    try {  
                        
                    //	FileOutputStream out = openFileOutput(ARQUIVO, MODE_APPEND);
                    	
                    //	out.write("<?xml version=\"1.0\" encoding=\"utf-8\"?>".getBytes());
                    	
                        for (int j = 0; j < totalDados; j++)  
                        {  
                        	
                        	try {
								
							
                              
                            int recuperaTipoDado = infos.get(j).getCodTipoDado();  /**RECUPERA O ID DO TIPODADO**/  
                               
                            int recuperaIdInfo = infos.get(j).getCodInfo(); /**RECUPERA O CDINFO**/   
                              
                              
                            switch (recuperaTipoDado) {  
                                case 1:  
                                  
                                    if (texto[j].getText().toString().equals("")) {  
                                        Toast.makeText(TesteCadastroColeta_2.this, "DIGITE UM TEXTO!", Toast.LENGTH_SHORT).show();  
                                        Log.i(CATEGORIA, "DIGITE UM TEXTO!");  
                                    }  
                                      
                                break;  
  
                                case 2:  
                                      
                                    if(numerico[j].getText().toString().equals("")){  
                                        Toast.makeText(TesteCadastroColeta_2.this, "DIGITE UM NÚMERO INTEIRO!", Toast.LENGTH_SHORT).show();  
                                        Log.i(CATEGORIA, "DIGITE UM NÚMERO INTEIRO!");  
                                    } 
                                      
                                break;  
                                  
                                case 3:  
                                      
                                    if (numericoFracionario[j].getText().toString().equals("")) {  
                                          
                                        Toast.makeText(TesteCadastroColeta_2.this, "DIGITE UM NÚMERO FRACIONÁRIO!", Toast.LENGTH_SHORT).show();  
                                        Log.i(CATEGORIA, "DIGITE UM NÚMERO FRACIONÁRIO!");  
                                    }  
                                      
                                break;  
                                  
                                case 4:  
                                      
                                    if (dataHora[j].getText().toString().equals("")) {  
                                          
                                        Toast.makeText(TesteCadastroColeta_2.this, "DIGITE UMA DATA!", Toast.LENGTH_SHORT).show();  
                                        Log.i(CATEGORIA, "DIGITE UMA DATA!");  
                                    }  
                                      
                                break;  
                                  
                                case 5:  
                                    
                                	if (escolha[j].equals("")){
                                	
                                		Toast.makeText(TesteCadastroColeta_2.this, "SELECIONE UMA OPÇÃO!", Toast.LENGTH_SHORT).show();
									}
                                      
                                break; 
                           
                            } // fim with  
                            
                            // ATUALIZA OS DADOS NO BANCO
                            
                            	String idIpinners = String.valueOf(escolha[j].getSelectedItemId());
                            	
                            	infoAmostra.setVlInfo(editText[j].getEditableText().toString());
                            	infoAmostra.setVlInfo(idIpinners);
                            	
                            	infoAmostra.setFlObrigatorio("S");
                            	
                            	
								String idInfo = String.valueOf(recuperaIdInfo);
								
                                if (coletaDao.updateColeta(infoAmostra, idAmostra, idInfo)) {
									
                                	Toast.makeText(TesteCadastroColeta_2.this, "OK", Toast.LENGTH_SHORT).show();
                                	
                                	
    							} else {
    							
    								Toast.makeText(TesteCadastroColeta_2.this, "ERRO METODO UPDATE", Toast.LENGTH_SHORT).show();
    							}
                                
                                Log.i(CATEGORIA, "INFOAMOSTRA: " + infoAmostra);
                                  
                        	} catch (Exception e) {
								
                        		 Log.i(CATEGORIA, "ERROR FOR: " + e);
                        		
							}    
                            	
					    
                        } 
                        
                      //  out.close();
                          
                    } catch (Exception e) {  
                          
                        Log.i(CATEGORIA, "Erro grave botao cadastroColeta" + e);  
                    }  
                      
                      
                      
                }  
                  
            });  
                      
              
            botalVoltar.setOnClickListener(new View.OnClickListener() {  
                  
                  
                @Override  
                public void onClick(View v) {  
                      
                    //telaListaAmostra();  
                      
                    Log.i(CATEGORIA, "teste btn voltar");  
                }  
  
  
            });  
              
          
            linearLayout.addView(linearLayout2);  
          
            s.addView(linearLayout);  
          
            setContentView(s);  
          
              
    }  
      
              
      
    /**voltar para a tela de listagem das amostras**/  
      
    /*private void telaListaAmostra() { 
        Intent it = new Intent(this, CadastroUsuarioController.class); 
        startActivity(it); 
         
    }*/  
      
      
} 

talvez eu tenha entendido errado, mas o que deu pra entender é que você quer isso:

[code]String dados[0] = new String[2];

dados[0] = "valor teste01" ;
dados[1] = "valor teste02" ;

obj INFOAMOSTRA = new INFOAMOSTRA ();
obj.setIDAMOSTRA(1);
obj.setIDINFO(1);

for (int i; i<= dados.length; i++){

obj.setDADOSFORMULARIO(dados[i]);
inserirDado(obj);

}[/code]

OBS: talvez haja algo errado na sintaxe =) mas acho que pelo o que eu entendi é isso.