I need to know how I can make a query, what kind then a default query
that when I say in the edittext of my app, a name of any client the search button will bring me the names of my SQL database
for example, these two types of query
use DB_Andro;
select * from clientes where nom_cli = 'Juan'; -- Este es el nombre que supongamos digite en el edittext
-- O ASI
SELECT * FROM clientes where nom_cli LIKE 'Juan' + '%'
this is my code in the android class Ahh omit what is commented, it is not necessary in this case:
package com.sqldata.gst.appsql;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.ProgressBar;
import android.widget.SimpleAdapter;
import android.widget.Toast;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* Created by Administrador on 05/10/2016.
*/
public class ConClientes extends MainActivity {
Conexion conexionSQL;
EditText txtCdCliente, txtNomCli;
Button btnBuscar, btnRetornar;
ProgressBar pgrCliente;
ListView lstClientes;
String idCliente;
//ResultSet rs;
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.con_clientes);
conexionSQL = new Conexion();
//txtCdCliente = (EditText) findViewById(R.id.txtCdCliente);
txtNomCli = (EditText) findViewById(R.id.txtNomCli);
btnBuscar = (Button) findViewById(R.id.btnBuscar);
btnRetornar = (Button) findViewById(R.id.btnRetornar);
pgrCliente = (ProgressBar) findViewById(R.id.pgrCliente);
lstClientes = (ListView) findViewById(R.id.lstClientes);
pgrCliente.setVisibility(View.GONE);
idCliente = "";
// Evento Ejecutar Boton
btnBuscar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SelectClientes selectClientes = new SelectClientes();
selectClientes.execute(""); //Cannot resolve method 'execute(java.lang.String)
}
});
btnRetornar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent Productos = new Intent(getApplicationContext(), MainMenu.class);
startActivity(Productos);
}
});
}
public class FillList extends AsyncTask<String, String, String>
{
String result = "";
List<Map<String, String>> CliList = new ArrayList<Map<String, String>>();
@Override
protected void onPreExecute(){
pgrCliente.setVisibility(View.VISIBLE);
}
@Override
protected void onPostExecute(String r){
pgrCliente.setVisibility(View.GONE);
Toast.makeText(ConClientes.this, r, Toast.LENGTH_SHORT).show();
String[] from = {"A", "B", "C"};
int[] views = {R.id.lblClienteId, R.id.lblNomCli, R.id.lblCodCli};
final SimpleAdapter ADA = new SimpleAdapter(ConClientes.this, CliList, R.layout.lst_cliente,
from, views);
lstClientes.setAdapter(ADA);
lstClientes.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
HashMap<String, Object> obj = (HashMap<String, Object>) ADA.getItem(arg2);
idCliente = (String) obj.get("A");
String ClienName = (String) obj.get("B");
//String ClienCod = (String) obj.get("C"); // Tomar en Cuenta String >> int
txtNomCli.setText(ClienName);
//txtCdCliente.setText(ClienCod);
}
});
}
@Override
protected String doInBackground (String... params){
try{
Connection cnSQL = conexionSQL.CONN();
if (cnSQL == null){
result = "Error en la Conexión SQL Server";
}
else{
String query = "select * from clientes";
PreparedStatement psSQL = cnSQL.prepareStatement(query);
ResultSet rsSQL = psSQL.executeQuery();
ArrayList data1 = new ArrayList();
while (rsSQL.next()){
Map<String, String> dataRec = new HashMap<String, String>();
dataRec.put("A", rsSQL.getString("idcliente"));
dataRec.put("B", rsSQL.getString("nom_cli"));
dataRec.put("C", rsSQL.getString("cod_cli"));
CliList.add(dataRec);
}
result = "Success";
}
} catch (Exception ex){
result = "Error al Buscar Datos de la Tabla Clientes";
}
return result;
}
}
public class SelectClientes extends AsyncTask<String, String, String>{
String result = "";
Boolean isSuccess = false;
String NomCli = txtNomCli.getText().toString();
//String CodCli = txtCdCliente.getText().toString();
@Override //Method does not override method from its superclass
protected void onPreExecute(){
pgrCliente.setVisibility(View.VISIBLE);
}
@Override
protected void onPostExecute(String r){
pgrCliente.setVisibility(View.GONE);
Toast.makeText(ConClientes.this, r, Toast.LENGTH_SHORT).show();
if (isSuccess == true){
FillList fillList = new FillList();
fillList.execute("");
}
}
@Override //Method does not override method from its superclass
protected String doInBackground(String... params){
if (NomCli.trim().equals(""))
result = "Favor de Introducir el Codigo del Cliente";
else {
try{
Connection con = conexionSQL.CONN();
if (con == null){
result = "No Hay Datos para Mostrar";
} else {
List<Map<String, String>> CliList = new ArrayList<Map<String, String>>();
String[] from = {"A", "B", "C"};
int[] views = {R.id.lblClienteId, R.id.lblNomCli, R.id.lblCodCli};
// final SimpleAdapter ADA = new SimpleAdapter(ConClientes.this, CliList, R.layout.lst_cliente,
// from, views);
//lstClientes.setAdapter(ADA);
String query = "select * from clientes where nom_cli = '" + NomCli + "'";
PreparedStatement psSQL = con.prepareStatement(query);
ResultSet rsSQL = psSQL.executeQuery();
ArrayList data1 = new ArrayList();
while (rsSQL.next()){
Map<String, String> dataRec = new HashMap<String, String>();
dataRec.put("A", rsSQL.getString("idcliente"));
dataRec.put("B", rsSQL.getString("nom_cli"));
dataRec.put("C", rsSQL.getString("cod_cli"));
CliList.add(dataRec);
}
result = "Success";
// String query = "Select * from clientes where nom_cli =" + NomCli;
// PreparedStatement preparedStatement = con.prepareStatement(query);
// preparedStatement.executeUpdate(); // esta es la sentencia;
// // se pdria poner de esta forma >>>> preparedStatement.executeQuery()
result = "Busqueda de Datos Correcta";
isSuccess = true;
}
} catch (Exception ex){
isSuccess = false;
result = "Verifique los Datos";
Log.e("Error", "Este es mi problema ahora : " + ex.getMessage());
}
}
return result;
}
}
}
I hope you can help me these are data if they need more the table is clients fields
idcliente int (1,1) primary key
nom_cli nvarchar(50)
cod_cli nvarchar(50) //Lo puse asi porque queria, ya que admite alphanumerico ejje
Well I hope and you can help me!