http://rafakwolf.blo...ndo-delphi.html
Tomé la lista de base de datos Firebird y todo esto en un android listview.
Incluso, en parte, traer una lista de todos los datos de la tabla en android trae, pero tengo que hacer lo mismo en EditText introducir un código de este EditText muy EditText y devolver el nombre.
Tengo una tabla llamada clientes, y lo tengo campos y nombre de código
Si algem me puede ayudar a traer el resultado en el android EditText ...
En Delphi ya lo hizo el método de búsqueda por ID
delphi
function TServerMethods1.GetDados_Clientes(Codigo: string; out Erro: string): TDataSet; begin with CDS_Clientes do begin try Close; CommandText := ' SELECT CAST(CODIGO AS VARCHAR(30))AS CODIGO, NOME '+ ' FROM CLIENTES '+ ' WHERE CODIGO = :PCODIGO '; Params.ParamByName('PCODIGO ').AsString := Codigo; Open; Result := CDS_Clientes; except on E:Exception do Erro := E.Message; end; end; end;
y era así en android
[java]public static class GetDados_ClientesReturns {
public String Erro;
public TDataSet returnValue;
}
public GetDados_ClientesReturns GetDados_Clientes(String Codigo) throws DBXException {
DSRESTCommand cmd = getConnection().CreateCommand();
cmd.setRequestType(DSHTTPRequestType.GET);
cmd.setText("TServerMethods1.GetDados_Clientes");
cmd.prepare(get_TServerMethods1_GetDados_Clientes_Metadata());
cmd.getParameter(0).getValue().SetAsString(Codigo);
getConnection().execute(cmd);
GetDados_ClientesReturns ret = new GetDados_ClientesReturns();
ret.Erro = cmd.getParameter(1).getValue().GetAsString();
ret.returnValue = (TDataSet)cmd.getParameter(2).getValue().GetAsTable();
return ret;
}
private DSRESTParameterMetaData[] TServerMethods1_InsertDados_Clientes_Metadata;
private DSRESTParameterMetaData[] get_TServerMethods1_InsertDados_Clientes_Metadata() {
if (TServerMethods1_InsertDados_Clientes_Metadata == null) {
TServerMethods1_InsertDados_Clientes_Metadata = new DSRESTParameterMetaData[]{
new DSRESTParameterMetaData("Nome", DSRESTParamDirection.Input, DBXDataTypes.WideStringType, "string"),
new DSRESTParameterMetaData("Erro", DSRESTParamDirection.Output, DBXDataTypes.WideStringType, "string"),
new DSRESTParameterMetaData("", DSRESTParamDirection.ReturnValue, DBXDataTypes.BooleanType, "Boolean"),
};
}
return TServerMethods1_InsertDados_Clientes_Metadata;
}[/java]
Pero yo no sé cómo se llama en android
Incluso tengo el código, pero esto no es correcto
[java]private void pesquisar() {
dialog = progressDialog.show(VendaClienteActivity.this, "Aguarde...",
"Pesquisando registros");
new Thread() {
@Override
public void run() {
DSRESTConnection conn = getConnection();
TServerMethods1 serv = new TServerMethods1(conn);
GetDados_ClientesReturns gc;
TDataSet ds = null;
try {
String Codigo;
Codigo = edtCliente.getText().toString();
gc = serv.GetDados_Clientes(Codigo);
//carrega o edit com o resultado do select
edtCliente.setText(ds.getValue("nome").GetAsString());
finalizaDialogo(false, "");
} catch (Exception e){
finalizaDialogo(true, e.toString());
}
}
}.start();
}
private DSRESTConnection getConnection() {
DSRESTConnection conn = new DSRESTConnection();
conn.setHost(ip);
conn.setPort(1032); //porta
return conn;
}
private void finalizaDialogo(final boolean temErro, final String msg) {
handler.post(new Runnable() {
@Override
public void run() {
if (temErro)
Toast.makeText(VendaClienteActivity.this, msg, Toast.LENGTH_LONG).show();
else
AtualizarTela();
//finaliar o dialogo
dialog.dismiss();
}
});
}
private void AtualizarTela() {
//
}[/java]
Mi dificultad es pasar el parámetro del código para buscar el ID de cliente y devolver el nombre del cliente en EditText en app android.
Gracias a los que me ayudan.
Lo siento, estoy usando traductor Google