Pagina1 van 1
Forum

Welkom bij de Tweaking4All gemeenschapsforums!
Voor je gaat deelnemen, bekijk de Forum Regels!

Specifieke onderwerpen: Start het onderwerp met de naam van het programma of systeem.
Bijvoorbeeld “MacOS X – Jouw vraag“, of bijvoorbeeld “MS Word – Jouw Tip of Truc“.

Merk op: Omschakelen naar een andere taal zal niet werken als je een post aan het lezen bent aangezien er waarschijnlijk geen vertaling beschikbaar is.



Deel:
Meldingen
Alles wissen

[Opgelost] Vraag door oude Pascaller

137 Berichten
2 Gebruikers
0 Reactions
17.5 K Bekeken
 Hans
(@hans)
Famed Member Admin
Deelgenomen: 12 jaar geleden
Berichten: 2864
 

Hoi Gerard,

ik heb dat al eens eerder gedaan ja ... e.e.a. hangt wel af van hoe en wat de interface naar de database is. Gebruikt het een specifiek database protocol, b.v. MySQL, hiervoor heeft Lazarus al specifieke componenten, maar zoiets als MyDAC (commercieel) of Zeos (gratis) werken ook erg goed. Of is het via http of https (dat kan b.v. makkelijk met Synapse).

Heb je wat meer info? Kunnen we kijken of ik iets voor je kan betekenen ...

Intussen wel in m'n huisje, maar heb nog veel moeite met wennen ... maar dat kost gewoon tijd he? 

Groetjes,

Hans


   
BeantwoordenCiteren
(@hengst)
Trusted Member
Deelgenomen: 10 jaar geleden
Berichten: 83
Topic starter  

Hoe kan ik je het besten bestanden mailen.

Of hier?


   
BeantwoordenCiteren
 Hans
(@hans)
Famed Member Admin
Deelgenomen: 12 jaar geleden
Berichten: 2864
 

Beste gaat als attachment hier - maar soms kan dat niet wenselijk zijn vanwege de gevoelige inhoud.
Je kunt me evt. emailen op webmaster at tweaking4all punt com. Maar ik heb geen idee hoe groot jouw bestanden zijn.
Als het erg groot wordt, dan evt. via DropBox sharen?


   
BeantwoordenCiteren
(@hengst)
Trusted Member
Deelgenomen: 10 jaar geleden
Berichten: 83
Topic starter  

verzonden aan webmaster at tweaking4all punt com


   
BeantwoordenCiteren
(@hengst)
Trusted Member
Deelgenomen: 10 jaar geleden
Berichten: 83
Topic starter  

Hoi Hans (en anderen),

Ik zoek een simpel commando om het hoogste geïndexeerde record nummer uit een SQLite DB te halen.

Ik wil dus eigenlijk alleen weten wat het hoogste nummer is, meer niet.

Dank Gerard


   
BeantwoordenCiteren
 Hans
(@hans)
Famed Member Admin
Deelgenomen: 12 jaar geleden
Berichten: 2864
 

Hoi Gerard,

sorry, ben een paar dagen druk in de weer geweest met "andere" zaken.

Ehm, wat bedoel je met hoogst geindexeerd?
De index die SQLite zelf bijhoudt, of een index veld dat je zelf hebt toegevoegd?
Of bedoel je een hoogste autoincrement veld waarde?

Als je de naam van het veld weet:

SELECT max(veldnaam) FROM tabel

SQLite houdt ook een "rowid" bij (als ik me niet vergis), die kun je geloof ik met last_insert_rowid() opvragen. Dus zoiets als:

SELECT last_insert_rowid();

Maar ... ik heb even geen SQLite database ter beschikking om dat te testen.

Geen idee of dit werkt:

SELECT MAX(_id) FROM tabel;

Het veld "_id" is volgens mij een "standaard" veld voor SQLite.


   
BeantwoordenCiteren
(@hengst)
Trusted Member
Deelgenomen: 10 jaar geleden
Berichten: 83
Topic starter  

Hoi Hans,

Na heel veel gekl**t en lappe code geschreven kwam ik gisteren op het idee om het op te lossen door een simpele query:

                   SQLQuery2.Last;

Daarmee heb ik het hoogste nummer in de db te pakken. Soms lang zoeken naar iets simpels.

Dank


   
BeantwoordenCiteren
(@hengst)
Trusted Member
Deelgenomen: 10 jaar geleden
Berichten: 83
Topic starter  

Hans een nieuwe.

Ik heb via "package" " configureer"  LazReport toegevoegd.
Lazarus gecompileerd, zonder significante foutmeldingen.

Daarna op het form frDBDataSet en frReport toegevoegd en als use LR_Class en LR_DBSet.

Nu krijg ik bij het compileren van het project de foutmelding

unit20150214.pas(12,48) Fatal: Can not find unit LR_Class used by UNIT20150214. Check if package lazreport is in the dependencies.

Heb jij een idee om dit te corrigeren?

Dank


   
BeantwoordenCiteren
 Hans
(@hans)
Famed Member Admin
Deelgenomen: 12 jaar geleden
Berichten: 2864
 

Hoi Gerard,

sorry dat ik zo lang "afwezig" ben geweest - drukte en het bijhouden van de website en mijn applicaties nemen behoorlijk wat tijd in beslag. 

In mijn ervaringen (op de Mac althans) is LazReport nou niet de meest stabiele oplossing om rapporten te maken. LazReport is overigens gebaseerd op het commerciële Fast-Report (wat ik onder Delphi een geweldig component vind!), die tegenwoordig ook een (commerciele) Lazarus versie schijnen te hebben. Link1 en Link2.

Ik heb zelf een commerciële versie, en daarbij zitten de sources voor Lazarus, maar ik heb het nog nooit getest.

Overigens, een nieuwe versie (1.4.4) van Lazarus is beschikbaar, en ik zie in de lijst met fixes een aantal vermeldingen van LazReport. Misschien dus een idee om de nieuwe versie even te proberen want de gemiste unit naam is wel een beetje maf.

Voor het geval je ze nog niet had gevonden:

- Documentatie,
- Tutorial


   
BeantwoordenCiteren
(@hengst)
Trusted Member
Deelgenomen: 10 jaar geleden
Berichten: 83
Topic starter  

Geen probleem Hans, je doet het geheel gratis dus geen druk van mij.

Door zelf te kl**ten leer je ook veel.

LazReport zojuist geheel verwijderd omdat ik foutmelding op foutmelding kreeg die geen enkel verband had met wat ik aan het doen was.

Lazarus draait nu weer stabiel.

Ga een kijken om versie 1.4.4 te vinden.

Dank.


   
BeantwoordenCiteren
 Hans
(@hans)
Famed Member Admin
Deelgenomen: 12 jaar geleden
Berichten: 2864
 

Hoi Gerard,

ik moet eerlijk zeggen dat ik het altijd leuk vind als ik iemand kan helpen (vandaar ook de website).
Ik hoop dat 1.4.4 beter met LazReport omgaat.


   
BeantwoordenCiteren
(@hengst)
Trusted Member
Deelgenomen: 10 jaar geleden
Berichten: 83
Topic starter  

Hans,

Ik moet eerlijk zeggen dat er soms wel veel vanuit gegaan wordt dat er kennis aanwezig is, die bij velen er niet is.

Zo ook bij het installeren van een van een nieuw package in Lazarus, dan is installeren onvoldoende. Als het het package is toegevoegd via [package - install/unistal packages/instal] dan moet je nog via [project - project inspector - add - bestanden toevoegen - add - nieuwe vereiste - (selecteren en zoek met het pijltje) de juiste file] het linken aan je project. 

Dat was weer een uurtje zoeken.

Trouwens ook leuk hoe alle in twee talen door elkaar staan.

Maar het lijkt nu te werken.

Dank


   
BeantwoordenCiteren
(@hengst)
Trusted Member
Deelgenomen: 10 jaar geleden
Berichten: 83
Topic starter  

Hoi Hans,

een ander vraagje.

heb jij een visie op het gebruik van SQLQuery's.

Als je eendeel van de DB over alle bladen actief wil laten maar andere delen van de db op willekeurige momenten wil raadplegen. Hoe zijn je omgaan met SQLQuery. Ik dacht SQLQuery1 = voor het hoofddeel van de DB en SQLQuery 2 en 3 voor andere delen. Dit lijkt te werken maar is soms een probleem.

Graag jouw visie wat je uit ervaring zou doen.

Dank


   
BeantwoordenCiteren
 Hans
(@hans)
Famed Member Admin
Deelgenomen: 12 jaar geleden
Berichten: 2864
 

Mooi om te horen dat LazReport nu wel werkt, ook al is het in 2 talen haha.
Ik ben zelf nooit een voorstander geweest voor het vertalen van dit soort zaken, het maakt het e.e.a. soms behoorlijk moeilijk.
Als is het maar om jouw eigen programma in meerdere talen te hebben, of om een goede beschrijving van een programma te maken (zie deze website, soms geef ik het gewoon op, omdat alles omschakelen naar Nederlands weer een ellende is) haha.

Maar,... voor de gewone gebruiker is ondersteuning van de moedertaal natuurlijk wel wenselijk.

Wat de verwachte kennis betreft; ja daar loop ik ook weleens tegenaan. Moet je eens naar de wat recentere ontwikkel omgevingen kijken zoals Visual Studio of XCode (Mac) - dat is helemaal een ellende. Dat weerhoudt me er gewoon van om daar mee aan de slag te gaan.

Voor wat jouw query vraag;

Als je 1 query over meerdere tabbladen wilt gebruiken, dan kun je soms tegen cursor problemen aanlopen.
Bijvoorbeeld op blad 1 staat de cursor op record 10, maar op blad 2 verplaats je de cursor naar record 21. Het gevolg: de cursor veranderd dan dus ook op blad 1. Als je hier events of acties aan hebt gehangen dan kan dat dus door druppelen naar van alles en nog wat, en ongewenste gevolgen hebben.

Als voorbeeld; je werkt met een klanten bestand, en alles wat je doet, op welk tabblad dan ook, heeft betrekking op dezelfde klanten gegevens. In dat geval is 1 query voor alle tabbladen prima.

Maar, stel je gebruikt een tabel met postcodes. Op het ene tabblad is het nodig voor het adres van de klant, maar op een ander tabblad voor de behandelende organisatie, dan kan dat soms voor ongewenste neven effecten zorgen.

Meerdere queries opzetten hoeft echter geen probleem te zijn.

Zelf begin ik vaak met 1 query (al dan niet met andere queries gekoppeld). Als ik merk dat het ongewenste effecten levert, dan maak ik voor betreffende tabblad gewoon nieuwe queries.


   
BeantwoordenCiteren
(@hengst)
Trusted Member
Deelgenomen: 10 jaar geleden
Berichten: 83
Topic starter  

Hoi Hans,

Ik doe het volgend:

heb een SQLite DB met 5 tabellen en tientalle velden.

Op een tabblad wil ik twee tabellen in een Grid laten zie. Hier voor heb ik de volgende code:

==========================

procedure TForm1.TPedicureShow(Sender: TObject);

begin

{Start DB Pedicure}

  SQLQuery3.SQL.Clear;

  SQLite3Connection1.DatabaseName:='C:HengistDBTrouwX.db';

  SQLite3Connection1.Connected:=true;

  SQLQuery3.Database:=SQLite3Connection1;

  SQLQuery3.SQL.text:='Select * FROM Pedicure';

  SQLQuery3.open;

  DPedje.DataField:='PNaam';

  DataSource3.DataSet:=SQLQuery3;

  DBNavigator3.DataSource:=DataSource3;

  DBGrid4.DataSource:=DataSource3;

  DBGrid4.Visible:=True;

{Start DB Patienten}

  SQLTransaction1.Commit;

SQLQuery2.Database:=SQLite3Connection1;

SQLQuery2.SQL.text:='Select * FROM Klanten';

SQLQuery2.open;

DataSource2.DataSet:=SQLQuery2;

DBNavigator4.DataSource:=DataSource2;

DBGrid5.DataSource:=DataSource2;

SQLQuery2.Locate('BSN',WaarWasIk,[]);

==========================

Ik zoek me rot maar zie niet waarom de tabel patienten wel verschijnt en de tabel predicure niet.
Beiden tabellen zijn gevuld.

Als je iets ziet graag.

Gerard


   
BeantwoordenCiteren
Pagina 9 / 10
Deel: