Tecnologia do Blogger.
RSS

[androidbrasil-dev] Re: Dúvida SQLiteOpenHelper

não foi irmão

On 27 jan, 12:52, Clebão - EcoCentauro <cleba...@gmail.com> wrote:
> tenta alterar a criação da  PRIMARY KEY
>
> campa  INTEGER PRIMARY KEY,
>
> Em 27 de janeiro de 2012 11:54, Renato Porto Puccini <
> renatoppucc...@gmail.com> escreveu:
>
>
>
>
>
>
>
> > Maravilha!!!
>
> > legal que meu posto ajudou. E que mundo pequeno mesmo!!!
> > abraços e sucesso ae Fabiano!!
>
> > ------------------------------------------
> > Renato Porto Puccini<http://www.linkedin.com/profile/view?id=58956239&trk>
> > renatopuccinipt.com
> > @renatoporto <http://twitter.com/renatoporto>
> > renatoppucc...@gmail.com
> > ------------------------------------------
>
> > 2012/1/27 Fabiano - Carioca <fabianobalme...@gmail.com>
>
> >> alterei e deu o mesmo resultado cara.
>
> >> On 27 jan, 11:35, Renato Porto Puccini <renatoppucc...@gmail.com>
> >> wrote:
> >> > cara, pelo que eu vi, é um erro no sql.
> >> > você colocou o ponto e virgula dentro do seu create.
>
> >> > CREATE TABLE IF NOT EXISTS GRPINFO
> >> > (" +
> >> >             "CDGRPINFO INTEGER NOT NULL," +
> >> >             "NMGRPINFO VARCHAR(250), " +
> >> >             "CONSTRAINT [PK_GRPINFO] PRIMARY KEY (CDGRPINFO*);*)
>
> >> > tem que colocar depois do parentesis.
>
> >> > CREATE TABLE IF NOT EXISTS GRPINFO
> >> > (" +
> >> >             "CDGRPINFO INTEGER NOT NULL," +
> >> >             "NMGRPINFO VARCHAR(250), " +
> >> >             "CONSTRAINT [PK_GRPINFO] PRIMARY KEY (CDGRPINFO*)*);
>
> >> > Então ele não  consegue criar o banco, e dae o objeto que vc recebe é
> >> null.
>
> >> > ------------------------------------------
> >> > Renato Porto Puccini <
> >>http://www.linkedin.com/profile/view?id=58956239&trk>
> >> > renatopuccinipt.com
> >> > @renatoporto <http://twitter.com/renatoporto>
> >> > renatoppucc...@gmail.com
> >> > ------------------------------------------
>
> >> > 2012/1/27 Fabiano - Carioca <fabianobalme...@gmail.com>
>
> >> > > Faltou o log irmão.
>
> >> > > Segue ele
>
> >> > > 01-27 12:22:30.224: E/AndroidRuntime(4766): FATAL EXCEPTION: main
> >> > > 01-27 12:22:30.224: E/AndroidRuntime(4766):
> >> > > java.lang.NullPointerException
> >> > > 01-27 12:22:30.224: E/AndroidRuntime(4766):     at
>
> >> android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:
> >> > > 203)
> >> > > 01-27 12:22:30.224: E/AndroidRuntime(4766):     at
>
> >> android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelp
> >> er.java:
> >> > > 98)
> >> > > 01-27 12:22:30.224: E/AndroidRuntime(4766):     at
> >> > > br.com.mylims.model.ConfigFTPDao.salvaFTP(ConfigFTPDao.java:30)
> >> > > 01-27 12:22:30.224: E/AndroidRuntime(4766):     at
> >> > > br.com.mylims.controller.TelaCadastroFTPController
> >> > > $2.onClick(TelaCadastroFTPController.java:190)
> >> > > 01-27 12:22:30.224: E/AndroidRuntime(4766):     at
> >> > > android.view.View.performClick(View.java:2408)
> >> > > 01-27 12:22:30.224: E/AndroidRuntime(4766):     at android.view.View
> >> > > $PerformClick.run(View.java:8816)
> >> > > 01-27 12:22:30.224: E/AndroidRuntime(4766):     at
> >> > > android.os.Handler.handleCallback(Handler.java:587)
> >> > > 01-27 12:22:30.224: E/AndroidRuntime(4766):     at
> >> > > android.os.Handler.dispatchMessage(Handler.java:92)
> >> > > 01-27 12:22:30.224: E/AndroidRuntime(4766):     at
> >> > > android.os.Looper.loop(Looper.java:123)
> >> > > 01-27 12:22:30.224: E/AndroidRuntime(4766):     at
> >> > > android.app.ActivityThread.main(ActivityThread.java:4627)
> >> > > 01-27 12:22:30.224: E/AndroidRuntime(4766):     at
> >> > > java.lang.reflect.Method.invokeNative(Native Method)
> >> > > 01-27 12:22:30.224: E/AndroidRuntime(4766):     at
> >> > > java.lang.reflect.Method.invoke(Method.java:521)
> >> > > 01-27 12:22:30.224: E/AndroidRuntime(4766):     at
> >> > > com.android.internal.os.ZygoteInit
> >> > > $MethodAndArgsCaller.run(ZygoteInit.java:868)
> >> > > 01-27 12:22:30.224: E/AndroidRuntime(4766):     at
> >> > > com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
> >> > > 01-27 12:22:30.224: E/AndroidRuntime(4766):     at
> >> > > dalvik.system.NativeStart.main(Native Method)
>
> >> > > On 27 jan, 11:07, Fabiano - Carioca <fabianobalme...@gmail.com>
> >> wrote:
> >> > > > kkk, tudo bem cara?.
>
> >> > > > Este mundo é pequeno mesmo. Post bacana, parabéns.
>
> >> > > > Segue o link com a minha dúvida. O final do post estão com os
> >> códigos
> >> > > > atualizados.
>
> >>http://www.portalandroid.org/comunidade/viewtopic.php?f=26&t=17030&p=...
>
> >> > > > Valeu pela força irmão
>
> >> > > > On 27 jan, 10:52, Renato Porto Puccini <renatoppucc...@gmail.com>
> >> > > > wrote:
>
> >> > > > > Fabiano,
>
> >> > > > > vc seguiu meu post, haha.
>
> >> > > > > O motivo de estar vindo null, é porque ele não acha o banco ou não
> >> > > consegue
> >> > > > > criar o mesmo.
> >> > > > > manda o logcat pra gente ver.
> >> > > > > E como está sua classe que cria o banco?
> >> > > > > abs
>
> >> > > > > ------------------------------------------
> >> > > > > Renato Porto Puccini <
> >> > >http://www.linkedin.com/profile/view?id=58956239&trk>
> >> > > > > renatopuccinipt.com
> >> > > > > @renatoporto <http://twitter.com/renatoporto>
> >> > > > > renatoppucc...@gmail.com
> >> > > > > ------------------------------------------
>
> >> > > > > 2012/1/27 Fabiano - Carioca <fabianobalme...@gmail.com>
>
> >> > > > > > Irmão,
>
> >> > > > > > Estou testando testar as minhas alterações e está dando
> >> > > > > > NullPointerException por causa desta linha:
> >> > > > > > SQLiteDatabase db = gerenciaDataBase.getWritableDatabase();
>
> >> > > > > > Estou utilizando este tutorial com base
> >> > > > > >http://renatopuccinipt.com/tag/android-sqlite/
>
> >> > > > > > Segue o meu método do erro
>
> >> > > > > > private GerenciaBanco gerenciaDataBase = new
> >> GerenciaBanco(this);
>
> >> > > > > >        public boolean salvaFTP(ConfigFTP ftpBean){
>
> >> > > > > >                try {
>
> >> > > > > >                        SQLiteDatabase db =
> >> > > > > > gerenciaDataBase.getWritableDatabase();
>
> >> > > > > >                        ContentValues valores = new
> >> ContentValues();
>
> >> > > > > >                        valores.put("IPFTP", ftpBean.getIpFtp());
> >> > > > > >                        valores.put("LOGINFTP",
> >> > > ftpBean.getLoginFtp());
> >> > > > > >                        valores.put("SENHAFTP",
> >> > > ftpBean.getSenhaFtp());
>
> >> > > > > >                        long sql = db.insert("CFGFTP", null,
> >> valores);
>
> >> > > > > >                        if (sql > 0) {
>
> >> > > > > >                                Log.i(CATEGORIA, "Dados FTP
> >> salvos com
> >> > > > > > sucesso!");
> >> > > > > >                                return true;
>
> >> > > > > >                        } else {
>
> >> > > > > >                                Log.i(CATEGORIA, "ERRO: Dados
> >> FTP  não
> >> > > > > > foram salvos!");
> >> > > > > >                                return false;
> >> > > > > >                        }
>
> >> > > > > >                } catch (SQLException e) {
>
> >> > > > > >                        Log.i(CATEGORIA, "ERRO: SQLException
> >> > > salvaFTP: " +
> >> > > > > > e);
> >> > > > > >                        return false;
> >> > > > > >                }
>
> >> > > > > >        }
>
> >> > > > > > O que devo fazer para arrumar isto?
>
> >> > > > > > Att
>
> >> > > > > > On 27 jan, 09:20, Fabiano - Carioca <fabianobalme...@gmail.com>
> >> > > wrote:
> >> > > > > > > Bom dia!
>
> >> > > > > > > Pessoal, eu estava utilizando uma base de dados que criei
> >> fora e
> >> > > > > > > jogava no emulador. Mas seguindo conselhos de programadores
> >> mas
> >> > > > > > > experientes, resolvi criar este banco na mão utilizando
> >> > > > > > > SQLiteOpenHelper.
>
> >> > > > > > > Em fim, fiz a classe que cria o banco e joguei para um DAO que
> >> > > tinha
> >> > > > > > > pronto para testar.
>
> >> > > > > > > Não se está certo o que fiz e também estou com algumas
> >> dúvidas.
>
> >> > > > > > > Dúvidas:
>
> >> > > > > > > Como consigo criar este banco assim que acesso o meu sistema?
> >> (OBS:
> >> > > > > > > sem a necessidade de botões para iniciar o processo de
> >> instalação).
>
> >> > > > > > > (A primeira tela do sistema é uma tela de cadastro e
> >> precisando ter
> >> > > > > > > este banco criado antes do usuário tentar cadastrar.)
>
> >> > > > > > > Segue o link com as minhas classes. (Não sei se a forma que
> >> chamei
> >> > > a
> >> > > > > > > classe nos meus métodos DAO está certo).
>
> >>http://www.portalandroid.org/comunidade/viewtopic.php?f=26&t=17030
>
> >> > > > > > > Alguém pode me ajudar?
>
> >> > > > > > > Desde já agradeço mais uma vez irmãos.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comentários:

Postar um comentário