HI,
peguei essa função para usar na minha página de downloads. Armazeno na tabela o tamanho do arquivo em bytes. Mas se eu fosse exibir esse campo na listagem o usuário num ia entender muita coisa não.
Peguei a função aqui
Converting bytes to GB in C#?
http://stackoverflow.com/questions/1242266/converting-bytes-to-gb-in-c/2082893#2082893
Fiquem na Paz!!!!
Mostrando postagens com marcador converter. Mostrar todas as postagens
Mostrando postagens com marcador converter. Mostrar todas as postagens
quarta-feira, março 19, 2014
sábado, junho 11, 2011
Migrando um banco Sql Server Compact para SQLite
HI,
Mas uma bronca que consegui resolver, graças a Deus.
Vou iniciar o desenvolvimento de um sistema de forças de venda para android. Fiz um para windows mobile. Como não tava querendo criar todas as tabelas no SQLite, resolvi buscar uma ferramenta para realizar esse trabalho.
O mais perto que cheguei, foi de um programa para migrar um banco de dados SQL Server para SQLite. Antes disso eu tinha encontrado um programa para exportar a estrutura e os dados do SQL Server Compact.
Então eu decidi recriar o banco de dados no SQL Server, e do SQL Server, migrar para o SQLite. Pura gambiarra? hehehe. O importante é que consegui criar o banco de dados completo para SQLite.
Receita do que precisei:
Utilitário para exportar a estrutura e os dados do sql server compact usando o SQL Server Management Studio.
SQL Compact data and schema script utility
Programa para criar um banco SQLite a partir de um banco de dados SQL Server
Convert SQL Server DB to SQLite DB
Tem um porém nesse programa. Ao utilizar o executável, deu um erro, disse que não encontrava o System.Data.SQLite.dll. Fui atrás desse arquivo no google e instalei no meu notebook.
System.Data.SQLite
Outro porém. Mesmo instalando, continuou dando erro. Vi que poderia ser problema de diferença de versão. Resolvi baixar o código fonte, adicionar em Reference a dll System.Data.SQLite e executar. Repeti o processo e deu certo
Agora tá tudo blz.
Fica a dica de ferramentas para se trabalhar com o SQLite
Espero que posso ajudar.
Fiquem na Paz!!!
Marcadores:
android,
compact,
converter,
migrar,
sql lite,
sql server,
sql server mobile,
windows mobile
domingo, maio 22, 2011
Gravando datas no SQLite do Android
HI,
Continuo avançando aqui no exemplo expenses. Hoje consegui gravar a data no banco de dados, graças a Deus.
Depois de muita tentativa e erro e muitas pesquisas no Google, fui achando as soluções.
Primeiro erro que me deparei foi esse: java.text.ParseException: Unparseable date
Tava tentando converter a data da despesa ( uma string ) que tava no formato dd-MM-yyyy para jogar dentro de uma variável do tipo data. Só depois que percebi que tinha esquecido de trocar o traço pela barra deixando o formato assim: dd/MM/yyyy.
Código para converter uma string em data
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
Date datepayment = formatter.parse(datepaymentText.getText().toString());
datepaymentText é um Button.
O segundo erro que me deparei foi: java.lang.ClassCastException: java.util.Date
Pensei que o problema era na hora de gravar no campo data da tabela. Desabilitei a linha que dá um insert no banco e mesmo assim tava dando esse erro. Então deduzi que o problema era na passagem de parametro. Fiquei pensando, como é que pode passar um campo data para um metódo que tem uma variavel do tipo data e dá erro?
Pesquisando no google descobrir que ao invés de usar a biblioteca java.sql.Date, eu deveria usar java.util.Date. Depois que fiz isso, não deu mais erro.
E nessa mesma busca vi que eu deveria converter essa variável data que tá no formato dd/MM/yyyy para yyyy-MM-dd, que é o formaro do banco de dados.
O código para gravar a data no banco de dados ficou assim:
public long createExpense(Date datepayment){
ContentValues initialValues = new ContentValues();
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
dateFormat.applyPattern("yyyy-MM-dd");
initialValues.put(KEY_DATEPAYMENT, dateFormat.format(datepayment));
return mDb.insert(DB_TABLE, null, initialValues);
}
Deixei só o campo data para exemplificar.
Agora tá beleza, tá gravando e recuperando o campo data
Ficou assim a tela do programa

Espero que possa ser útil.
Páginas que me ajudaram
http://www.guj.com.br/java/76586-converter-um-campo-de-um-text-field-em-date#403825
http://www.guj.com.br/java/36076-converter-string-para-uma-data
http://stackoverflow.com/questions/754684/how-to-insert-a-sqlite-record-with-a-datetime-set-to-now-in-android-application
http://stackoverflow.com/questions/3842509/android-java-datetime-values-from-string-to-long-to-string-issue
Fiquem na Paz!!!
Continuo avançando aqui no exemplo expenses. Hoje consegui gravar a data no banco de dados, graças a Deus.
Depois de muita tentativa e erro e muitas pesquisas no Google, fui achando as soluções.
Primeiro erro que me deparei foi esse: java.text.ParseException: Unparseable date
Tava tentando converter a data da despesa ( uma string ) que tava no formato dd-MM-yyyy para jogar dentro de uma variável do tipo data. Só depois que percebi que tinha esquecido de trocar o traço pela barra deixando o formato assim: dd/MM/yyyy.
Código para converter uma string em data
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
Date datepayment = formatter.parse(datepaymentText.getText().toString());
datepaymentText é um Button.
O segundo erro que me deparei foi: java.lang.ClassCastException: java.util.Date
Pensei que o problema era na hora de gravar no campo data da tabela. Desabilitei a linha que dá um insert no banco e mesmo assim tava dando esse erro. Então deduzi que o problema era na passagem de parametro. Fiquei pensando, como é que pode passar um campo data para um metódo que tem uma variavel do tipo data e dá erro?
Pesquisando no google descobrir que ao invés de usar a biblioteca java.sql.Date, eu deveria usar java.util.Date. Depois que fiz isso, não deu mais erro.
E nessa mesma busca vi que eu deveria converter essa variável data que tá no formato dd/MM/yyyy para yyyy-MM-dd, que é o formaro do banco de dados.
O código para gravar a data no banco de dados ficou assim:
public long createExpense(Date datepayment){
ContentValues initialValues = new ContentValues();
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
dateFormat.applyPattern("yyyy-MM-dd");
initialValues.put(KEY_DATEPAYMENT, dateFormat.format(datepayment));
return mDb.insert(DB_TABLE, null, initialValues);
}
Deixei só o campo data para exemplificar.
Agora tá beleza, tá gravando e recuperando o campo data
Ficou assim a tela do programa

Espero que possa ser útil.
Páginas que me ajudaram
http://www.guj.com.br/java/76586-converter-um-campo-de-um-text-field-em-date#403825
http://www.guj.com.br/java/36076-converter-string-para-uma-data
http://stackoverflow.com/questions/754684/how-to-insert-a-sqlite-record-with-a-datetime-set-to-now-in-android-application
http://stackoverflow.com/questions/3842509/android-java-datetime-values-from-string-to-long-to-string-issue
Fiquem na Paz!!!
Assinar:
Postagens (Atom)
