Hans J. Ellingsgaard
-
Content Count
84 -
Joined
-
Last visited
Posts posted by Hans J. Ellingsgaard
-
-
When you use the tcp/ip connection, you must define the server. If you are running you DB on same computer as program, you can use the 127.0.0.1 ip address.
-
I think that Lajos is correct about that bookmarks are lost when closing the query in FireDAC, but if I remember correctly, it did work in Client Dataset.
-
On 6/5/2022 at 3:59 PM, TurboMagic said:Some Firebird documentation about generators I just read recommends to NOT directly query a generator like that for master/detail tables, as in multi user scenarious you cannot be sure whether somebody already further incremented the generrator etc.
I can not see why this should be a problem, you got your ID and stick to it until your record is finally posted to the database. You use it as a primary key on your mastertable and a foreign key on the detail table. The generator is running outside the transactions, and you are guaranteed to get a unique value each time you request for an ID.
-
You can load Excel sheets into a FDMemTable via Microsoft's odbc drivers.
-
On 5/13/2022 at 10:26 AM, Fons N said:In the OnConstrainedResize event of the Form include the following:
MaxHeight:= Screen.WorkAreaHeight;
MaxWidth:= Screen.WorkAreaWidth;You could use the Constraints property of the form instead of using the Event.
Self.Constraints.MaxHeight := Screen.WorkAreaHeight;
Self.Constraints.MaxWidth := Screen.WorkAreaWidth;
- 1
-
Is there a reason why you can‘t use generators?
- 2
- 1
-
If I remember correctly, IBX does not officially support Firebird. I would rather go with the FireDAC framework instead.
The FireDAC framework also seems to have much higher priority than IBX from Embarcadero.
-
If you place the dll files manually into the windows system folders, you'll need to run regsvr32 to register them in Windows. If you use the installer it will register them for you. If you place them in your programs root folder, there is no need for registration.
-
With sql databases always use the query component, you have much more control with it.
-
One way to get around that datetime field, is to create a View on the datbase, where you cast your datetime field to a date field, and then connect the table component to the view instead of the query.
Is there a specific reason why you want to use a table compnent instead of a query?
-
If you use a FDQuery instead of FDTable, you could cast your datetime field to date. Then you can filter on that date field.
-
Have you checked in wich folder your dll file is located?
-
If you use the StartTransaction command, you have to finish it off with CommitTransacton or a Rollback. If you're not using a StartTransaction, the FDConnection will start it for you and make a commit when your datasets are closed.
-
Yes, the developer edition can run via tcp. Have you checked wich port it's using? You can do that with netstat. You should also be able to telnet the portnumber..
-
If you connect via tcp/ip, it should not matter where your Interbase binaries are located, as long as the interbase service is running. You also need to check wich port it is running on. Normaly it's on port 3050.
-
Your problem might have something to do with nested transactions. If your db or your odbc driver don't support nested transactons, make shure there is no ongoing transaction on the same connectionm, before you call StartTransaction.
Something like this:
if FDConnection1.InTransaction then
FDConnection1.Commit;
FDConnection1.StartTransaction;
-
A primary key is a ground rule of relational daatabases.
- 1
-
Your problem could come from the gds32.dll client file. If it's in the windows\system32 folder it will be overwritten with each installation. Not all of them have been backward compatible.
-
It works fine the opposite way - active at designtime and closed at runtime. I guess that most users use it that way. I allways make shure that all my queries are closed at programstart, and then open them via code.
- 1
-
I have converted from IBX to FireDAC without any problems with the datetime fields. What database are you using?
-
The Ryzen 5 processor is more than capable of running VM's on your PC. If it's not for gaming, go for a business PC, they have better hardware quality.
- 1
- 1
-
Have you checked if your interbase service is running? You can try to connect to it with tke IB Consol that comes with the Interbase installation.
-
Could it be this problem you have run into?
-
Check in your project folders to see if there is a dbgrid.pas or dbgrid.dcu file and remove it, if it's there.
DBGrid repaint or refresh when dataset is refreshed
in Databases
Posted
The client dataset has a bookmark method you can use. Also use dataset.disablecontrols; / dataset.enablecontrols before and after refresh, as Attila suggests, to avoid flickering in the dbgrid.