Utilizamos cookies propias y de terceros. [Más información sobre las cookies].
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Temas
· Top 10
· Trucos
· Tutoriales
· Wiki
Obtener columnas y datos de los registros de una tabla Java Android
Lenguaje de programación Java para aplicaciones Android

Código en Java para Android que obtiene y muestra todos los registros de una consulta SQL de forma automática. Este código es para dispositivos Android aunque, moficiando algunos detalles, es válido para cualquier aplicación Java.


Para conectar con la base de datos (en el ejemplo con una BD MySQL): Declaraciones públicas:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
.............

Connection conexionMySQL;

............
Procedimiento para conectar con el servidor de base de datos (MySQL)
    public void conectarBDMySQL (String usuario, String contrasena, 
     		String ip, String puerto, String catalogo)
    {
    	if (usuario == "" || puerto == "" || ip == "")
   	{
      		AlertDialog.Builder alertDialog = 
     			new AlertDialog.Builder(AjpdSoftMySQL.this);
     		alertDialog.setMessage("Antes de establecer la conexión " +
    				 "con el servidor " +
     				"MySQL debe indicar los datos de conexión " +
    				"(IP, puerto, usuario y contraseña).");
    		alertDialog.setTitle("Datos conexión MySQL");
     		alertDialog.setIcon(android.R.drawable.ic_dialog_alert);
    		alertDialog.setCancelable(false);
     		alertDialog.setPositiveButton("Aceptar", 
     				new DialogInterface.OnClickListener()
     		{
    			public void onClick(DialogInterface dialog, int which)
   		     	{
     				menuConfiguracion();
   		    	}
     		});
     		alertDialog.show();
     	}
    	 else
     	{
     		String urlConexionMySQL = "";
     		if (catalogo != "")
     			urlConexionMySQL = "jdbc:mysql://" + ip + ":" +	
    			     puerto + "/" + catalogo;
     		else
     			urlConexionMySQL = "jdbc:mysql://" + ip + ":" + puerto;
     		if (usuario != "" & contrasena != "" & ip != "" & puerto != "")
     		{
    			 try 
     			{
 				Class.forName("com.mysql.jdbc.Driver");
 	    			conexionMySQL = DriverManager.getConnection(urlConexionMySQL, 
 	    					usuario, contrasena);					
 			} 
     			catch (ClassNotFoundException e) 
     			{
     		      	  Toast.makeText(getApplicationContext(),
     		                    "Error: " + e.getMessage(),
     		                    Toast.LENGTH_SHORT).show();
     			} 
     			catch (SQLException e) 
     			{
 			      	  Toast.makeText(getApplicationContext(),
 			                    "Error: " + e.getMessage(),
 			                    Toast.LENGTH_SHORT).show();
 				}
     		}
     	}
     }
Para obtener en un cuadro de texto todos los registros y columnas de la consulta SQL ejecutada:
            	  String SQLEjecutar = "select * from facturas;
            	  String catalogoMySQL = "bdfacturas";
            	  
            	  conectarBDMySQL("root", "contraseña", 
            			  "ajpdsoft.com", "3306", catalogoMySQL);
            	  
              	  //ejecutamos consulta SQL de selección (devuelve datos)
       		  Statement st = conexionMySQL.createStatement();
       		  ResultSet rs = st.executeQuery(SQLEjecutar); 

           	  String resultadoSQL = "";
		  Integer numColumnas = 0;
					  
            	  //número de columnas (campos) de la consula SQL            	  
            	  numColumnas = rs.getMetaData().getColumnCount();            	  
	
            	  //mostramos el resultado
            	  while (rs.next()) 
            	  {  
            		  //obtenemos el título de las columnas
            		  for (int i = 1; i <= numColumnas; i++)
            		  {
                       	      if (resultadoSQL != "")
                       		  if (i < numColumnas)
                       			  resultadoSQL = resultadoSQL + 
                       			  		rs.getMetaData().getColumnName(i).toString() + ";";
                       		  else
                       			  resultadoSQL = resultadoSQL + 
                       			  		rs.getMetaData().getColumnName(i).toString();
                       	      else
                       		  if (i < numColumnas)
                       			  resultadoSQL = 
                       				  rs.getMetaData().getColumnName(i).toString() + ";";
                       		  else
                       			  resultadoSQL = 
                       				  rs.getMetaData().getColumnName(i).toString();
                        	  
            		      }
            		      resultadoSQL = resultadoSQL + " ";
            		     //obtenemos los datos de cada columna
            		     for (int i = 1; i <= numColumnas; i++)
                            {                          
                               if (rs.getObject(i) != null)
                              {
                        	  if (resultadoSQL != "")
                        		  if (i < numColumnas)
                        			  resultadoSQL = resultadoSQL + 
                        			  		rs.getObject(i).toString() + ";";
                        		  else
                        			  resultadoSQL = resultadoSQL + 
                        			  		rs.getObject(i).toString();
                        	  else
                        		  if (i < numColumnas)
                        			  resultadoSQL = rs.getObject(i).toString() + ";";
                        		  else
                        			  resultadoSQL = rs.getObject(i).toString();
                              }
                              else
                             {
                        	  if (resultadoSQL != "")
                        		  resultadoSQL = resultadoSQL + "null;";
                        	  else
                        		  resultadoSQL = "null;";
                              }                           
                          }
                          resultadoSQL = resultadoSQL + " ";
            	      }
       		      textResultadoSQL.setText(resultadoSQL);
       	  	      st.close();
       		      rs.close();    




Publicado el: 2013-05-22

Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A