Problema com consulta sql

Estou tentando acessar uma base Sqlite e me retorna um erro falando que nao existe a coluna.

Dim vlogin As String
Dim sql As String
Dim rs As RecordSet

//--------------------------------------------------------------------------------------------------

// Coloquei no TxfUsuCons.Text = “CAUBY”

vlogin = TxfUsuCons.Text.Uppercase
sql = “Select * From usuario where usuario.login = " +vlogin +”;"

// O App.MyDb.Error ME RETORNA No such column: Cauby
//------------------------------------------------------------

// DEPOIS TENTEI ASSIM:
// Coloquei no TxfUsuCons.Text = “CAUBY”

vlogin = “%” + TxfUsuCons.Text.Uppercase + “%”
sql = “Select * From usuario where usuario.login Like " +vlogin +”;"

// O App.MyDb.Error ME RETORNA Near “%” Syntax Erro
//-----------------------------------------------------------------------------------

rs = App.MyDb.SQLSelect(sql)
If App.MyDb.Error Then
MsgBox("Erro na consulta do Usuario " + App.MyDb.ErrorMessage)
TxfUsuCons.Text = “”
TxfUsuCons.SetFocus
Return
End If

O que estou fazendo de errado ?

You need single quote marks around vLogin

[code]
sql = “Select * From usuario where usuario.login Like '” +vlogin +"’;"
[/code

No entendi o que devo fazer.
No entendi [code] [/cod no syntaxe do xojo

O engraado que tenho uma rotina assim:

Dim rs As RecordSet
Dim sql As String
Dim vid As String
vid =TxfIdCon.Text
sql = “Select * From usuario where usuario.id = " + vid +”;"
rs = App.MyDb.SQLSelect(sql)
If App.MyDb.Error Then
MsgBox("Erro na consulta do Usuario " + App.MyDb.ErrorMessage)
TxfIdCon.Text = “”
TxfIdCon.SetFocus
Return
End If

Essa d certo unica diferena que usuario.id chave primaria e o usuario.login no

I am trying hard to help here… but have to use Google Translate to figure out what you are saying…

You NEED to include QUOTE MARKS inside the SQL

vlogin = "CAUBY"
sql = "Select * From usuario where usuario.login = " +vlogin +";"

This results in

Select * from usuario where usuario.login = CAUBY

that is NOT correct

what you need is

Select * from usuario where usuario.login = ‘CAUBY’

Agradeo muito pela pacincia
para usar o like achei que seria assim a sintaxe.

vlogin = TxfUsuCons.Text.Uppercase
sql = “Select * From usuario where usuario.login like % “’+vlogin+’” % ;”

mas deu errado.

sql = “Select * From usuario where usuario.login like '%”+vlogin+"%’ ;"

you put the quotes in the wrong place

Coloquei a sintaxe conforme o Dave indicou.

sql = “Select * From usuario where usuario.login like '%”+vlogin+"%’ ;"

No me retorna erro, mas meu recordset vem vazio e eu sei que o nome que coloquei na vlogin tem na tabela usuario

aonde ser que estou errando agora ?

Ok… at some point you have to start taking the initiative and try to help yourself.
Put “MSGBOX SQL” after that line
Does the statement look correct? If not, fix your code
If so, and no error, then truly nothing in your database matches…

Sorry you can’t figure it out, but I’ve provided all the help I can… now its time for you to help yourself

Ol Cauby,

Desculpe a ausncia, estou em viagem e sem acesso ao Xojo. O que o Dave colocou, e a sua ltima sintaxe est correta… Mas com certeza, tem algo errado com seus dados ou o valor passado.

Minha sugesto: Retire o Like primeiramente, e faa uma consulta sql normal, sem filtrar nada, para ver o que retorna na sua consulta…

Outro ponto: Na sua consulta anterior, com usuario.id, funciona no porque chave primria, e sim, porque id um nmero, e como tal, no precisa estar entre aspas para a consulta funcionar… usuario.id = 1, sem aspas, funciona, porque isso que o banco de dados espera como comparao. J com um campo string, deve ser mesmo usuario.login = ‘nome’, ou usuario.login like ‘%nome%’

Se no der certo, poste novamente, Vamos resolver.

[quote=180796:@Dave S]Ok… at some point you have to start taking the initiative and try to help yourself.
Put “MSGBOX SQL” after that line
Does the statement look correct? If not, fix your code
If so, and no error, then truly nothing in your database matches…

Sorry you can’t figure it out, but I’ve provided all the help I can… now its time for you to help yourself[/quote]

Hi Dave, thank you for the effort… I was in a business trip, with no regular internet access… But already returned…

Deu certo o problema esta que ficou um espao entre o plic e as aspas, depois do % eu dei um espaco para depois a aspas por isso estava dando erro.

sql = “Select * From usuario where usuario.login LIKE ‘% “+vlogin+”%’ ;” // sintaxe errada
sql = “Select * From usuario where usuario.login LIKE '%”+vlogin+ “%’ ;” // sintaxe certa

Mais uma vez obrigado Adelar e obrigado ao Dave.[quote][/quote]