Delphi TQuery assistance needed with SQL

Hi experts,

I need a bit of help with an SQL query.

Here is what I have now:

ADOQuery1.SQL.Add('select * from Table where (Field1) = "' + (ComboBox1.Text) + '"');

That's fine BUT I need to do a query with more than 1 comboxBox

For example:

Select * From Table where Field1 = ComboBox1.text AND ComboBox2.text

Hope you see what I'm trying to do.

Thanks

ST3VO
ST3VOAsked:
Who is Participating?
 
rfwoolfCommented:
Oh darn, almost got it! Spotted another error! Here goes again:
ADOQuery1.SQL.Add(
'Select * from Table where (Field1) = ' 
+ Quotedstr(Combobox1.text) // 'FORD'
+ ' AND ((Field2) LIKE "%'  // AND ((Field 2 LIKE "%
+ Combobox2.text            //Fiesta
+ '%")'                     // %")
);

Open in new window

0
 
rfwoolfCommented:
First of all I hope you know about the QuotedStr function, then you can do something like this:

ADOQuery1.SQL.Add('Select * from Table where (Field1) = ' + Quotedstr(Combobox1.text + ' ' + Combobox2.text);

If your comboboxs had this text:
Combobox1: 'FORD' and
Combobox2: 'Fiesta'
this would be the result
Select & From Table where (Field1) = 'FORD Fiesta'
0
 
kenpemCommented:
Also, if you're trying to match records where "Field1" is the same as the text of both comboboxes, then either... (a) compare the values of the CBs first (much faster) or (b) format your query as

SELECT * FROM Table WHERE (Fiield1 = that) AND (Field2 = this)

Good luck!
0
Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

 
ST3VOAuthor Commented:
I cannot get the Syntax right!

I need to copare 2 fields.

Select * from table where field1=comboxbox1.text AND field2 = comboxBox2.text

I cannot figure out how to put it all together with the + " ' etc...

0
 
ST3VOAuthor Commented:
Actualy it's:

Select * from table where field1=comboxbox1.text AND field2 CONTAINS comboxBox2.text
0
 
rfwoolfCommented:
You can TRY this. To do partial matches you use the LIKE operator, and the wildcard is %. So I am trying LIKE %SOMETHING%

ADOQuery1.SQL.Add(
'Select * from Table where (Field1) = ' + Quotedstr(Combobox1.text + ' AND ((Field2) LIKE "%' + Combobox2.text + '%)'
);

0
 
rfwoolfCommented:
Correction:
ADOQuery1.SQL.Add(
'Select * from Table where (Field1) = ' 
+ Quotedstr(Combobox1.text) // 'FORD'
+ ' AND ((Field2) LIKE "%'  // AND ((Field 2 LIKE %
+ Combobox2.text  //Fiesta
+ '%)' // %)
);

Open in new window

0
 
ST3VOAuthor Commented:
Perfect!!!

Thanks a million!
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.