Solved

C++ Builder5: problem with query

Posted on 2002-07-17
7
190 Views
Last Modified: 2010-04-01
I run this piece of code:

QR->Close();
QR->SQL->Clear();
QR->SQL->Add("SELECT somefields FROM sometable");
QR->Open();

and QR->open throws a mysterious exception: "QR: Field OTHERFIELD not found". Its mysterius, because OTHERFIELD is not presend in 'somefields'...

Any ideas how should I solve this?
0
Comment
Question by:Robson
  • 3
  • 3
7 Comments
 
LVL 4

Author Comment

by:Robson
ID: 7159727
Additional info: table 'sometable' contains field 'OTHERFIELD'.
0
 
LVL 1

Accepted Solution

by:
Boomers earned 150 total points
ID: 7160211
Hi Robson,

His QR an object TQuery on your Form or did you code it with the TQuery *QR;
If it is on a form. Make sure that when you dbl-click on the object to look at the field, you do not see the field OTHERFIELD.

Your field on your SQL query and your field on your object should be the same.

Hope this helps!!!
0
 
LVL 4

Author Comment

by:Robson
ID: 7161608
Hmm, just how you suspected: the query is included on the form with all fields from sometable. Maybe there is a way to temporary disable them? QR->DisableControls don't work....
0
Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

 
LVL 1

Expert Comment

by:Boomers
ID: 7161985
Hi Robson,

    I don't think you can disable theses TField but i'll look at it. You could delete all the field from the TQuery object and change your reference to theses field using the following syntax:

String a;
a = QR->FieldByName("Field1")->AsString;

This way the TTable will only contains the field that are within your SQL statement. The only thing is that no TField will be accessible since they are based on a SQL Statement that is created at run time.

Let me know if this helps!!!
0
 
LVL 6

Expert Comment

by:DrDelphi
ID: 7163687
You can change the Required property of the field in question, either in code or through the Object Inspector. If you're using using a TQuery, you might as well just delete all the fields, anyway. You can always just include them in your SQL statements... Food for thought.


Good luck!!
0
 
LVL 4

Author Comment

by:Robson
ID: 7171474
Points go to Boomers who firs diagnosed my problem.

Thanks for your Comment, DrDelphi. I checked Required property and for all fields it's set to false :-( It confused me even more, but I haven't created this form and I'm not going to redesign it.
0
 
LVL 1

Expert Comment

by:Boomers
ID: 7171720
Thanks for the A grade Robson.
0

Featured Post

Find Ransomware Secrets With All-Source Analysis

Ransomware has become a major concern for organizations; its prevalence has grown due to past successes achieved by threat actors. While each ransomware variant is different, we’ve seen some common tactics and trends used among the authors of the malware.

Join & Write a Comment

What is C++ STL?: STL stands for Standard Template Library and is a part of standard C++ libraries. It contains many useful data structures (containers) and algorithms, which can spare you a lot of the time. Today we will look at the STL Vector. …
  Included as part of the C++ Standard Template Library (STL) is a collection of generic containers. Each of these containers serves a different purpose and has different pros and cons. It is often difficult to decide which container to use and …
The viewer will learn how to pass data into a function in C++. This is one step further in using functions. Instead of only printing text onto the console, the function will be able to perform calculations with argumentents given by the user.
The viewer will learn how to use the return statement in functions in C++. The video will also teach the user how to pass data to a function and have the function return data back for further processing.

758 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

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now