TQuery SQL EDBEngineError

Hi Experts,

I tried to make a SQL application and I have got the EDBEngineError message: General SQL error [Microsoft][ODBC Microsoft Access Driver]Syntax error (missing operator) in query expression in query expression 'Country where country >= F'.'.
There is a DataModule with Query1: TQery and the SQL-phrase is :
Query1.SQL.Add('select * from Country order by COUNTRY where COUNTRY >= ' + EditBox1.Text;
 
Something interesting is the end of error phrase: quote - point - qoute
meikl told me to replace the
 
EditBox1.text

with

ansiquotedstr(EditBox1.Text,'"')
 
but the resulted error message was the same.

Could somebody give me a new idea? I try to give more points later but now I have only this ten.

wbr

Janos
LVL 10
kacorretiredAsked:
Who is Participating?
 
jswebyCommented:
The error is because the ORDER BY clause is before the WHERE clause. The best syntax for this operation is:

Query1.SQL.Append('SELECT * FROM Country WHERE Country >= :sCountry ORDER by COUNTRY');
Query1.ParamByName('sCountry').AsString :=EditBox1.Text;

This is assuming, of course, that Country is a text field in a table called Country.

J.
0
 
kretzschmarCommented:
hi janos,

regarding to your last screenshot you sent me,
you've missed a bracket ) before the ;

query1.sql.add('select * from atable where afield >= '+ansiquotedstr(AString,'"'));

about your statement above the order by clause must be behind the where-clause

select ...FieldList
  from ...TableList
 where ...Conditions
 order by ...FieldList

meikl ;-)

0
 
kretzschmarCommented:
btw. you could also use parameters
instead of rebuild the sql-string allways.

0
Cloud Class® Course: CompTIA Healthcare IT Tech

This course will help prep you to earn the CompTIA Healthcare IT Technician certification showing that you have the knowledge and skills needed to succeed in installing, managing, and troubleshooting IT systems in medical and clinical settings.

 
kacorretiredAuthor Commented:
Hi, I had no internet connection til now

Tnx your help

tonight  i'll try to read the messages

wbr

Janos
0
 
kacorretiredAuthor Commented:
Hi meikl and jsweby,

many thanks for helping me.

jsweby,

it works perfectly but first I forgot to insert : before the paramameter name :-))

meikl,

something I make wrong but the offered solution don't work. Today I would like to have a good result using your offered solution because it interests me and the result will be submitted

Janos
0
 
kacorretiredAuthor Commented:
Thanks jsweby

Janos
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.