Jump to content
martinhocosta

pesquisas a base dados

Recommended Posts

martinhocosta

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();

}

}

Share this post


Link to post
Share on other sites
martinhocosta

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')'.

Share this post


Link to post
Share on other sites
HappyHippyHippo

e não viste nada de estranho no SQL que a mensagem de erro te apresentou ?


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
saca-rolhas

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 by saca-rolhas

The worst part of censorship is ****

Share this post


Link to post
Share on other sites
martinhocosta

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);

}

Share this post


Link to post
Share on other sites
martinhocosta

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!");

}

}

Share this post


Link to post
Share on other sites
bioshock

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

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.