Solved

TQuery SQL EDBEngineError

Posted on 2002-03-05
6
262 Views
Last Modified: 2010-04-05
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
0
Comment
Question by:kacor
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
6 Comments
 
LVL 27

Expert Comment

by:kretzschmar
ID: 6841458
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
 
LVL 27

Expert Comment

by:kretzschmar
ID: 6841465
btw. you could also use parameters
instead of rebuild the sql-string allways.

0
 
LVL 4

Accepted Solution

by:
jsweby earned 20 total points
ID: 6841925
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
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 10

Author Comment

by:kacor
ID: 6847710
Hi, I had no internet connection til now

Tnx your help

tonight  i'll try to read the messages

wbr

Janos
0
 
LVL 10

Author Comment

by:kacor
ID: 6854185
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
 
LVL 10

Author Comment

by:kacor
ID: 6854186
Thanks jsweby

Janos
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

A lot of questions regard threads in Delphi.   One of the more specific questions is how to show progress of the thread.   Updating a progressbar from inside a thread is a mistake. A solution to this would be to send a synchronized message to the…
In this tutorial I will show you how to use the Windows Speech API in Delphi. I will only cover basic functions such as text to speech and controlling the speed of the speech. SAPI Installation First you need to install the SAPI type library, th…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

726 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question