martinhocosta Posted October 9, 2013 at 08:41 PM Report #528251 Posted October 9, 2013 at 08:41 PM o codigo chega aqui e para db.execSQL("select *" + " from utilizadores" + " where (numero == "+User.getText().toString()+" and password == " + "'"+pass.getText().toString()+"')"); qual será o meu error? public void autenticacao(View view) { try{ TextView User = (TextView)findViewById(R.id.editTextUSER); TextView pass = (TextView)findViewById(R.id.editTextPASS); if (User!=null && pass !=null) { db.execSQL("select *" + " from utilizadores" + " where (numero == "+User.getText().toString()+" and password == " + "'"+pass.getText().toString()+"')"); } else { alerta("Erro", "Login ou password em branco!"); } }catch(Exception erro) { alerta("banco de dados", "ERRO banco criado "+erro); } finally{ db.close(); } }
HappyHippyHippo Posted October 10, 2013 at 04:47 AM Report #528303 Posted October 10, 2013 at 04:47 AM e qual a mensagem de erro ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
martinhocosta Posted October 10, 2013 at 12:44 PM Author Report #528339 Posted October 10, 2013 at 12:44 PM 10-10 12:43:57.720: E/Database(319): Failure 1 (no such column: asd) on 0x1213f0 when preparing 'select * from utilizadores where (numero == asd and password == 'asd')'.
HappyHippyHippo Posted October 10, 2013 at 01:32 PM Report #528350 Posted October 10, 2013 at 01:32 PM e não viste nada de estranho no SQL que a mensagem de erro te apresentou ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Flinger Posted October 10, 2013 at 01:35 PM Report #528352 Posted October 10, 2013 at 01:35 PM Qual é no tipo da coluna número na tabela utilizadores?
saca-rolhas Posted October 10, 2013 at 01:39 PM Report #528356 Posted October 10, 2013 at 01:39 PM (edited) Na liguagem base de SQL não se usa o "==" e sim o = e também não sei o que são esses parêntesis. Tenta correr uma demo do Query na base de dados a ver se não contem nenhum erro SQL e em vez disto -> select * from utilizadores where (numero == asd and password == 'asd') usa isto -> select * from utilizadores where numero = *um numero* and password = '*uma pass*' Substitui o que encontra entre * Caso o Query esteja bom, preciso de ver o método execSQL e a respectiva classe para te dar sugestões mais concretas. Edited October 10, 2013 at 01:46 PM by saca-rolhas The worst part of censorship is ****
martinhocosta Posted October 11, 2013 at 02:27 PM Author Report #528530 Posted October 11, 2013 at 02:27 PM depois de ter feito as alterações error Erro banco criado android database.sqliteException: unknown error: queries cannot be performed usinf execSQL(), use query() instead try{ db = openOrCreateDatabase("LuisAup.db", MODE_PRIVATE, null); TextView User = (TextView)findViewById(R.id.editTextUSER); TextView pass = (TextView)findViewById(R.id.editTextPASS); if (User!=null && pass !=null) { String query= ("select * " + "from utilizadores" + " where numero = 1234 and password = 'snack'"); db.execSQL(query); alerta("erro", "login ou password errado"); } else { alerta("Erro", "Login ou password em branco!"); } }catch(Exception erro) { alerta("banco de dados", "ERRO banco criado "+erro); }
martinhocosta Posted October 11, 2013 at 04:01 PM Author Report #528555 Posted October 11, 2013 at 04:01 PM depois de pesquisar na net para selects etc nao é conhecido o execsql entao fiz assim para que serve o cursor? if (User!=null && pass !=null) { String query= ("select * " + "from utilizadores" + " where numero = 1234 and password = 'snack'"); Cursor c=db.rawQuery(query, null); if (c!=null &&c.moveToFirst()) { alerta("Erro", "Login ou password em branco!"); } }
bioshock Posted October 11, 2013 at 10:31 PM Report #528612 Posted October 11, 2013 at 10:31 PM Por norma, se queres receber um valor com condições, atribuis parâmetros para uma melhor segurança: public String get_name(int id){ SQLiteDatabase db = this.getReadableDatabase(); Cursor cursor = db.query("tabela", new String[] { "campo" }, "campo_2=?", new String[] { String.valueOf(id) }, null, null, null, null); Try{ if (cursor != null) { cursor.moveToFirst(); } return cursor.getString(0); } finally { cursor.close(); db.close(); } } http://developer.android.com/reference/android/database/Cursor.html
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now