Avatar billede gorlist Nybegynder
29. januar 2002 - 21:34 Der er 15 kommentarer og
2 løsninger

Delphi vs MySQL...

...nærmere betegnet en fejl jeg får når jeg prøver at 'refresh data' i en database via en DBnavigator.

Delphi siger at: 'Table does not support this operation because it is not uniquely indexed'

Jeg bruger en TDatasource, en Tdatabase og en Tquery for at indsætte indholdet af en tabel i en TDBgrid

Hvad er der galt her?
Avatar billede stoney Nybegynder
29. januar 2002 - 21:38 #1
Er det ikke for din tabel ikke er indexeret.
Ellers lav din egen navigator/knapper og brug requery i stedet for refresh.

Stoney
Avatar billede gorlist Nybegynder
29. januar 2002 - 21:40 #2
Når du nu siger ikke indexeret - hvad mener du så helt præcist?
Avatar billede morten_s Nybegynder
29. januar 2002 - 21:40 #3
Din DBNavigator passer sammen med et TTabel komponent ikke til et Query
Avatar billede gorlist Nybegynder
29. januar 2002 - 21:43 #4
Morten > Hvad mener du? Skal jeg vælge en anden datasource end Tdatasource til min DBNavigator?
Avatar billede morten_s Nybegynder
29. januar 2002 - 21:48 #5
Antag at du vil indsætte en post, det kræver at du laver et insert statemen med dit querry, eller en edit så skal der et update statement til, det kan DBnavigatoren ikke gøre for dig uden der er tilknyttet et TTable til datasourcen
Avatar billede gorlist Nybegynder
29. januar 2002 - 21:48 #6
Stoney > Har du evt. et par eksempler på requery?
Avatar billede stoney Nybegynder
29. januar 2002 - 21:49 #7
Når du bruger TTable ligger dine records in memory. Der kan den ikke holde styr på index. Der for skal du bruge requery.
Som Morten siger Query passer ikke til DBnavigator.

Stoney
Avatar billede morten_s Nybegynder
29. januar 2002 - 21:50 #8
du må selv skrive din DB navigator således den udfører de querys (SQL statements) som du har brug for
Avatar billede stoney Nybegynder
29. januar 2002 - 21:51 #9
Drop din navigator og lav dine egne knapper.
Med hensyn til "refresh" kanppen siger du bare query1.requery;

Stoney
Avatar billede stoney Nybegynder
29. januar 2002 - 21:51 #10
morten>> vi er da rørende enige

:-)

Stoney
Avatar billede morten_s Nybegynder
29. januar 2002 - 21:54 #11
Din refresh laver du med
query.close;
query.open;

dit sidste sql statements for det pågældende query vil så blive anvendt, hvis det ikke er brugbart laver du en

query.close;
query.sql.text := select * from......
query.open
Avatar billede gorlist Nybegynder
29. januar 2002 - 21:54 #12
takker!
Avatar billede morten_s Nybegynder
29. januar 2002 - 21:56 #13
Hvilke komponenter anvender du til MySql, jeg vil anbefale dig disse

http://www.microolap.com/
Avatar billede stoney Nybegynder
29. januar 2002 - 21:58 #14
Morten>> ved du om det bliver muligt at ændre port i MySql i næste "version" ?

Stoney
Avatar billede morten_s Nybegynder
29. januar 2002 - 22:01 #15
Stoney> Tænker du på dbExpress komponenterne ?

det gør det, men jeg vil nu vedblive at bruge http://www.microolap.com/
indtil videre
Avatar billede stoney Nybegynder
29. januar 2002 - 22:03 #16
Jeg må indrømme jeg ikke kender http://www.microolap.com/ componenterne,
men hvorfor er du så glad lige for dem ?

Stoney
Avatar billede morten_s Nybegynder
29. januar 2002 - 22:04 #17
fordi de virker
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester