

Hans J. Ellingsgaard
-
Content Count
101 -
Joined
-
Last visited
Posts posted by Hans J. Ellingsgaard
-
-
Just a guess, but I think you haven't defined the request type in your code.
What does your code look like?
-
I didn't understand Rick_Delphi's reaction either, when you are asking for an invoice it should be very clear that you are willing to pay for the service.
-
1
-
-
The problem is your join in the query. Sometimes FireDAC is smart enough to write an update script that's ignoring the join fields, but if not, then you have to write the update query yourself. If I remember correctly there is a description of how to do it in Cary Jensen's book. ( I saw you mentioned it in an another post)
-
Have you checked if the user has write rights on the folder where the inifile is placed?
-
It can also happen if you have DB aware components that reference to that field. It could be on a different form.
-
Is port 3050 open on the server?
Have you tried to connect from the client to the server with IB Consol?
-
1
-
-
3 hours ago, limelect said:FDMemTable1.CloneCursor(ProjectsFDTable);<<
Have you tried using a FDQuery with a where clause, where you select just one record, instead of a FDtable component?
-
18 hours ago, limelect said:The strange behavior is now on insert where I cannot pinpoint the
problem. I am not sure where is the problem yet.
Do you use a FDQuery for insert? If that's the case do you hava a "select * from" in the sql command, or do you use an "insert into command"?
You could try to write a direct insert command and use a FDCommand component to see wath's happening.
-
4 hours ago, limelect said:@Hans J. Ellingsgaardmaybe it is feasible for a search but not for insert where I have that problem too.
While searching for a solution on searach I found that if I have an EMPTY text to search I get a memory problem
Is that search based on a table component? If that's the case you'll end up loading all records into memory. You can instead make a search with a query and a where clause.
-
My guess is that your tables has a lot of records, or each of your records holds a lot of data, and when you opens it, with a table or query, you get all the records into memory.
If that's the case, you will need to limit the number of records with a where clause in your query. You could also limit the number of fields for each record in an overview, and then select all fields only for an active record.
-
Do you use query or table components?
-
1
-
-
The table component is not well suited for large datasets. It's better to use a query, and do the filtering with sql.
-
You can usa an API like https://www.ipify.org to get your public ipaddress.
When that is said, this sound strange. Do you have a printer that can be called directly with a public ipaddress, do you not have a vpn or some other secure connection to the office network?
-
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.
-
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.
-
1
-
-
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?
Android Create SQLLite Database at Runtime.
in Databases
Posted
Is there a path delimiter after the DocumentFolderPath?