02. april 2007 - 21:51Der er
17 kommentarer og 1 løsning
Mit program vil ikke starte, det dog kørt i 6 mdr.
Mit program vil ikke længere starte op, det lukker ned under start, uden nogen fejl meddelse. Det er et database program, som desværre kører på en gammel Paradox database, jeg vil mene at det har noget med disse tabeller at gøre for efter at have flyttet databasen over på en anden maskine, vil programmet nu heller ikke køre på denne.
Jeg har lavet et lille program til at checke databasen, og her kan jeg se alle tabeller uden problemmer.
Jeg har ingen ide om hvad der der foregår, og håber at nogen kan hjælpe med ideer.
ikke for at virke sur eller noget der tilnærmer, MEN ... Du har stillet 64 spm herinde og kun ulejliget dig med at uddele point i mindre end 21 af dem ? ? ? Altså 43 !! åbne, selvom der ligger flere svar og venter.
Selvfølgelig kan man ikke bruge pointene til noget (endnu ??), men det mindste man kan gøre, efter man har ulejliget folk, er vel at give dem lidt point ? ?
Er bestemt ikke en gnier og deler da meget gerne ud, men er måske ikke lige den bedste til at få spurgt efter et svar, når et problem er blevet løst.
Jeg vil gerne lige sige at jeg synes dette er et fantastisk sted, med en masse kloge hoveder, hvor jeg har fået megen god hjælp, rigtig meget hjælp, jeg ville da være et kvaj hvis jeg fornærmede folk herinde, det er der bestemt ingen der fortjener.
Jeg synes det er fantastisk at der folk der gider bruge deres tid, på at hjælpe amatør som mig, og håber da at jeg en dag kan betale tilbage.
Nej mine vinduer, bliver bare hvide uden tekst, men er dog kommet lidt nærmere, i det at jeg har fundet ud af at fejlen ligger ved paradox tabeller derbliver hentet data i. Sletter jeg data i den ene eller den anden kører programmet.
Vil ville ønske at kunne flytte disse tabeller over i Mysql, desværre er der andre programmer der også bruger disse data.
Du får åbenbart "kvast" programafviklingen. Dette sker ofte ved at nogle variable bliver fyldt ud over hvad de er designet til. Ex. function x(var a:integer):integer; var b: string[2]; begin b:= '123456'; end; Her kan overfyldningen af b betyde at a-adressen kværnes, men også at funktionens returadresse bliver ødelagt, hvorved du kan få en gp-error eller debuggeren går ned eller delphi-går ned. (eksemplet holder måske ikke men logikken i fejlmuligheden afspejles)
Har du overvejet - nu du bruger Paradox - at det kunne være et defekt indeks i en af tabellerne? Det plejer at resultere i noget lignende. De indeks er Paradox' svøbe!
I øvrigt glemte jeg nok at føje en smiley på i mit forrige indlæg.
a nor jeg var da i den tro at delphi selv handlede den slags error.
hrc jeg har tit prøvet at Paradox indexene bliver ødelagt, af hvilken grund har jeg aldrig fundet ud af.
Jeg er kommet frem til at det er en fejl ved en sqlquery, i hvertfald opstår fejlen ikke når jeg, når jeg fjerner denne function, i linien CHData.Visible:= CheckDate;
procedure TMainFrm.FormActivate(Sender: TObject); begin CHData.Visible:= CheckDate; PageC.ActivePage := ClientPage; LoadClientSql('Select * from (kunder AS Cl Right join Bådplads AS Bd '+ 'on Bd.kunde_nummer = Cl.Nummer ) '+ 'join Andel AS Ad on Ad.Plads = Bd.Plads '+ 'Order BY %S','Bd.Plads');
Jeg vil meget gerne skifte, men desværre er der et andet program der bruger dataerne også, jeg er så småt begyndt at skifte de tabeller der mit program bruger ud til Mysql, men jeg er ikke helt på toppen med dbxpress, jeg synes det langsomt og besværligt, men der er sgu så mange fordele ved sql., Senest har jeg været inde og kigge på foreign keys, og det er da en ting jeg skal have lagt ind i min database
Det er flg. sql der slår programmet ned.
LoadClientSql2('SELECT Cl.Nummer, Cl.Navn, Cl.Adresse, Cl.Postnummer, Cl.city, Cl.Hjtlf, Cl.Motlf, Cl.Arbtlf, cl.mail, Cl.Clitype, Cl.Sejlklub, Cl.Note, Cl.Klubnummer FROM kunder AS Cl, Leje AS Lj, Udlejsliste AS Ul '+ 'WHERE Cl.Nummer = Lj.Kunde AND Lj.Tdato < :Cdate '+ ' UNION '+ 'SELECT Cl.Nummer, Cl.Navn, Cl.Adresse, Cl.Postnummer, Cl.city, Cl.Hjtlf, Cl.Motlf, Cl.Arbtlf, cl.mail, Cl.Clitype, Cl.Sejlklub, Cl.Note, Cl.Klubnummer FROM kunder AS Cl, Udlejsliste AS Ul '+ 'Where Cl.Nummer = Ul.Kunde_Nummer AND Tdate < :Cdate '+ ' UNION '+ 'SELECT Cl.Nummer, Cl.Navn, Cl.Adresse, Cl.Postnummer, Cl.city, Cl.Hjtlf, Cl.Motlf, Cl.Arbtlf, cl.mail, Cl.Clitype, Cl.Sejlklub, Cl.Note, Cl.Klubnummer FROM kunder AS Cl, VenteListe AS Vl '+ 'Where Cl.Nummer = Vl.Kunde_Nummer AND Tdato < :Cdate '+ ' ORDER By %S','Cl.Navn');
Jeg fandt frem til at det var her fejlen lå, da jeg var ved at lave en sql, med UNION i et andet lille tillægsprogram, her skete samme fejl, fordi jeg havde lavet en fejl.
Når du markerer et felt som primærnøgle bliver der også automatisk oprettet et søgeindeks. Hvis du refererer til sådanne felter via fremmednøgler vil det alt andet lige blive noget hurtigere.
Tror jeg vil prøve at lave en MYsql database med alle tabeller, i håbet om at jeg kan komme til slippe af med de gamle paradox tabeller. Om ikke andet kan jeg vel lære lidt om det.
Det er et spørgsmål om man er til ketchup eller sennep. Blandt de gratis baser er Firebird og MySql de kendteste.
Da Firebird stammer fra god Borland-kode er det den jeg selv foretrækker. En superserver v. 2.01 og du er godt på vej.
MySql er ikke ueffen, men jeg synes det er et lappeløsningsprogram. Det er gammelt nid der stammer fra 2003 hvor MySQL ikke engang havde Views eller understøttede sub-selects. Det kan den helt sikkert nu, men Firebird/Interbase har kunnet det fra starten.
Desuden har Delphi, som standard, databasekomponenter til Interbase/Firebird.
Der står bla.: "Den egner sig til dog kun til små løsninger, da den ikke er lige så stabil og hurtig som f.eks. databasen MySQL."
Men det er der nok mange meninger om :)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.