Your Rank: 83
The first url you supplied me:
Has a spelling mistake in the company name. No problem, just made me laugh as I didn't notice this when I clicked on one, and the link took me to a site that wanted to sell me the domain Embacadero.com.
Many thanks for your help. Indeed the table was empty, I clear it of previous records before I insert new ones and I was doing the Active before redoing the SQL select. Now I do the select immediately before these commands and all work OK.
PS missing the r out of Embarcadero in your links before threw me for a minute, as I was offered to buy the domain!
I have a dbgrid which display data I have created in an MSSQL table. After I have inserted the last record into that table I issue the following command:
if fdqTable.Active = False then fdqTable.Active:= True;
When the debugger executes this command it throws up the following error:
Project xxx raised an exception class EFDException with message '[FireDac][Phys][MSSQL] -308 Cannot open / define command, which does not return result sets. Hint use Execute / ExecSQL method for non-SELECT commands'
Which makes no sense at all, given all I'm doing is setting the query active (which is a 'Select * from table order by ...').
Any thoughts on why I'm hitting this error?
Wouldn't think you could, you have to pay - but you can't get it with Professional these days.
I wanted to 'downgrade' from Delphi Enterprise Seattle to the Pro version as I no longer use many of the 'extras' that Enterprise has. Except I use FireDac for every data connection.
At first I was given a quotation for this change to Delphi Tokyo Professional with FireDac. I then asked for a new quote from another company (who I'd bought from before) and they checked with Embarcadero first and said FireDac had just been taken off the extras for Professional, so I could no longer go to Professional AND have FireDac!
This has effectively stopped me from upgrading to Tokyo, so Embarcadero has lost revenue. How many others are affected in the same way it would be interesting to know. The issue is clearly a marketing one, aimed to 'force' users who need FireDac to upgrade to Enterprise.
As far as I'm concerned it has backfired. I too would be amused to see an official message from them on this.
Thanks for your answer Roger. I use Delphi, so not sure your code what I was after. Maybe I wasn't as clear as I should be. With my example FormC is opened from either FormA or FormB. In the FormActivate of FormC I need to know which Form it was A or B as I need to know different things. Something like this:
If Sender is FormA then
else if Sender is FormB
How do I find out what the form was that sent me to another form? For instance, I have FormA and FormB, both have buttons which send me to FormC. I want FormC to know which button on which form I was sent from, as I need to do different things.
I can seen how to find out if the sender was a component on the same form, but this is the actual form (or the button on a different form) that I want to know how to find.
Any suggestions, please...
I have several forms which enable changes to underlying (MSSQL) tables. Usually in the form of a Firedac ExecSQL command, but sometimes the normal Edit - change field - Post form.
The thing is, even though these data change complete successfully they are not shown in the other forms. I often need to close the application and re-open it to see the changes.
How can I force these updated fields to display correctly in other forms?
When I enter this forum and press Answers, Create Question (after I've logged in), or the Create Question' link on the right', I get the normal form in which I can put a title and details of my question, but when I hit Submit I get an error saying 'Invalid' Captcha. Thing is, there is no Captcha shown on the page which I can tick. Very frustrating.
If I go to Forums, New Topic, I get the same form, but this time with a Captcha.
Can this be checked and maybe fixed, please, as it is not the best UI I've seen?
Hi, I have a form with a dbgrid in which I display records from a table, tLogging. I have a button which, when pressed, executes this code:
buttonSelected:= MessageDlg('Are you sure?',mtConfirmation, mbYesNoCancel, 0); if buttonSelected = mrYes then
dm2.fdqLogging.ExecSQL('DELETE FROM tLogging WHERE Username = :pUser', [ cMe ], [ ftString ] );
cMe has a valid string, set up earlier, and the code executes perfectly. Issue is that the dbgrid then shows no records, even though there are still lots. If I close the form down and reopen it those records are displayed.
Question is, why does dbgrid not show the remaining records after the SQL statement completes, and how do I make the dbgrid show them?
<p>Hi, I'm getting a very frustrating message from FireDac 'Project xxxx raised exception class EDatabaseError with message 'tSeniorsTeams: Cannot perform this operation on a closed dataset'. Thing is, the operation is going to the first record in the table (an MS SQL table):
With tSeniorsTeams do
First; - this is what causes the error message.
begin while NOT EOF
Now the dataset is not closed it has been opened and accessed in the application all the time, so the message is at best misleading, and doing similar things in other parts of the application works fine with no error message. So what can be causing it to fire off at this part of code? I'm mystified. Any thoughts would be very helpful.</p>
I agree re the forum - I used the
one for years, really good response but that never seems to be online these days. I feel Embarcadero are closing it down (why!!) and replacing with this one, which is so poor.
Anyway, I don't think it's Firedac that has any issues with exclusive access, it's usually the database which can lock records or tables. What is the database you are using. MAybe show a sample of your code?
How have you prepared the FireDac dataset?
You need a FireDac connection pointing to exactly where the data is held, then a table or query pointing to that connection and lastly a datasource component pointing to the table/query. Then all this needs to be set to active, and the dbgrid set to the datasource to display records.
Hi, I'm trying to move my Delphi 10 from a laptop to a desktop. However, I can't re-install it from the original links, as it says it is already registered. How can I move my installation?
Do I have to download a trial version for 30 days and do it this way?
Hi, I'm trying to move my Delphi 10 from a laptop to a desktop. However, I can't re-install it from the original links, as it says it is already...Hi, I'm trying to move my Delphi 10 from a laptop to a desktop. However, I can't re-install it from the original links, as it says it is already registered. How can I move my installation? Show more