-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ajuda com mostrar lista de registro lida em banco sqllite #11
Comments
Olá @regissteigleder! Bom, primeiramente gostaria de pedir que você colocasse seus trechos de código entre 3 acentos graves (`).
Agora vamos à pergunta. Você já ouviu falar em
.factory('DBA', function($cordovaSQLite, $q, $ionicPlatform, DB) {
var self = this;
self.query = function (query, parameters) {
parameters = parameters || [];
var q = $q.defer();
var db = DB.get();
$ionicPlatform.ready(function () {
$cordovaSQLite.execute(db, query, parameters)
.then(function (result) {
q.resolve(result);
}, function (error) {
console.warn('I found an error');
console.warn(error);
q.reject(error);
});
});
return q.promise;
}; Se for exatamente assim, como você mesmo vai perceber (agora que já leu o artigo sobre Portanto basta você retornar exatamente ela no seu código e tratar sua resolução no controller. Ficando algo assim: //service
self.getList = function() {
return DBA.query("SELECT nr_Cnpj, nm_Razao_Social FROM empresas");
}
//controller
service.getList()
.then(
function(response) {
$scope.items = response;
},
function(error) {
//tratamento
}
); Testa aí e avisa qualquer coisa. |
Olá giorgiofellipe.
O DBA.query também usa $q exatamente assim. Não tinha me ligado. |
Que bom que deu certo! ;)
Se eu entendi, você está se referindo às rotas né? A resposta nesse caso é não. Você pode modularizar melhor seu app, definindo as rotas de cada módulo na config de cada módulo, capisce? Temos um exemplo bacana (que segue esse guia) aqui mesmo na organização IonicBrazil: https://github.com/IonicBrazil/ionic-garden. Olhe em |
Oi giorgiofellipe.
Mas em relação ao index.html não entendi. |
Tente: Rafael Neri 2015-08-27 11:24 GMT-03:00 regissteigleder notifications@github.com:
|
Oi rafael-neri |
@regissteigleder O ionic-garden é um projeto embrionário e não deve ser usado pra produção, só pra você estudar mesmo. Nele aplicamos alguns conceitos e seguimos o guia do John Papa para definir uma estrutura bacana pra projetos de qualquer tamanho. |
Perdão, mas não existe um lugar mais adequado a tirar dúvidas não, um forum, sei la? acho que as issues são para o projeto em específico. Temos o grupo de angularjs que podem ajudar nisso, afinal o angular é a base do ionic. |
Concordo! Em 27 de agosto de 2015 13:52, Igor C. de Paula notifications@github.com
Atenciosamente, Andy Castro. www.andycastro.com.br |
Minha primeira frase aqui: "Pessoal, não sei se estou postando no lugar correto." Obrigado pelas orientações! |
Pessoal, não sei se estou postando no lugar correto.
Mas estou fazendo uma aplicação Ionic usando o sqllite.
Consigo gravar ok e consigo fazer a leitura e colocar em formato json.
Mas deviso a falta de sincronia entre o banco e o controle, a lista que pretendo preencher não é preenchida porque a ltela é montada antes da leitura do banco.
Então, no serviço que criei para retornar a lista funciona assim:
self.getList = function() {
var items =[];
console.log(" getList do it before *");
console.log(" ");
DBA.query("SELECT nr_Cnpj, nm_Razao_Social FROM empresas")
.then(function(result){
items = DBA.getAll(result);
console.log(" getList do it after ***");
console.log(" getList do it after items="+items);
console.log(" ");
});
console.log(" getList do it before ***");
console.log(" getList do it before items="+items);
console.log(" ");
return items;
}
Essa query só é executada DEPOIS que o return items já aconteceu então retorna nada para o controle chamador e não aparece nada na lista.
Se substitui o return por um texto litreal assim: [{"nr_Cnpj":"00203402000193","nm_Razao_Social":"CONTROL POINT SISTEMAS"},{"nr_Cnpj":"19978170049","nm_Razao_Social":"PAULO NREGIS"}]
funciona legal.
Então: a rotina getList termina antes do sql acontecer....
Preciso de ajuda nisso.,
obrigado
The text was updated successfully, but these errors were encountered: