[Delphi & Zeosdbo] SQL error met updaten

Pagina: 1
Acties:

  • ygma!l
  • Registratie: December 2002
  • Laatst online: 05-05 11:51
Ik heb Delphi 5 proffesional met Zeosdbo 6.0.12 patch4 (www.zeoslib.net). Deze heb ik gekoppeld met een mysql 4.x database(op eigen server). Nu is de situatie van het delphi programma als volgt:
[ZConnection]->[ZQuery]->[Datasource]->DBGrid & DBNavigator

Echter als ik een wijziging in de tabel een waarde wijzig en vervolgens via DBNavigator de 'update' knop kies, krijg ik de volgende foutmelding: Afbeeldingslocatie: http://www.yoip.nl/sqlerror.jpg
Overigens krijg ik deze foutmelding ook gewoon met het toevoegen van rijen.

Iemand enig idee wat ik hier fout doe? Ik heb het idee dat door ZQuery de verkeerd SQL syntax word gegenereerd... Misschien dat ik die syntax dan eventueel kan opvangen en aanpassen o.i.d.?

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 22:24

gorgi_19

Kruimeltjes zijn weer op :9

Je query lijkt fout. Echo je volledige SQL statement eens.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • ygma!l
  • Registratie: December 2002
  • Laatst online: 05-05 11:51
gorgi_19 schreef op 05 februari 2004 @ 19:08:
Je query lijkt fout. Echo je volledige SQL statement eens.
Ik weet niet hoe ik die verkrijgen moet, want zoals ik hierboven ook al vermeld wou ik wel weten hoe ik daar aan kon komen. Aangezien ik via DBGrid & DBNavigator werk...

Verwijderd

ygma!l schreef op 05 februari 2004 @ 19:18:
Ik weet niet hoe ik die verkrijgen moet, want zoals ik hierboven ook al vermeld wou ik wel weten hoe ik daar aan kon komen. Aangezien ik via DBGrid & DBNavigator werk...
Wat d8 je van de query uit je ZQuery?

  • ygma!l
  • Registratie: December 2002
  • Laatst online: 05-05 11:51
Verwijderd schreef op 06 februari 2004 @ 12:11:
[...]

Wat d8 je van de query uit je ZQuery?
Die query is aan het begin zo dat hij alle waarden uit de tabel leest en deze in een DBGrid plaatst. Echter als ik wijzigingen ga aan brengen via de tabel en dan de update functie kies van DBNavigator en ik ga dan de SQL statement opvragen dan is daar nix veranderd :/

  • ygma!l
  • Registratie: December 2002
  • Laatst online: 05-05 11:51
Niemand :?
Sorry, dat ik weer zo snel vraag, maar ik ben het nodig voor een project van school...

  • Just_a_Gamer
  • Registratie: November 2001
  • Laatst online: 27-05 07:15
Zit er een join in je query? Als ik me niet vergis, is het bij bde componente zo dat je nog een soort update sql component moet tussenzetten. Dus grote kans dat ie met je gegeven data ophaal query niet de juiste update sql kan schrijven.

  • VisionMaster
  • Registratie: Juni 2001
  • Laatst online: 09-05 11:54

VisionMaster

Security!

Mijn gok is dat ZQuery een niet ANSI query maakt, maar je dus lastig kan achterhalen wat die query is door je enigsinds dynamisch gebruik van je components.
Dan kan het heel lang duren om je probleem te debuggen, omdat de error diep uit de troggen van de MySQL query parser komt en dus een SQL error geeft.

suc6 :X

I've visited the Mothership @ Cupertino


  • ygma!l
  • Registratie: December 2002
  • Laatst online: 05-05 11:51
Ok, ik ben erachter dat ik ZUpdateSQL moest koppelen aan ZQuery. Dit heb ik nu gedaan en dit geeft geen foutmeldingen meer, maar:

Als ik nu update dan worden de wijzigingen keurig weergegeven in DBGrid/DBEdit etc.... Als ik dan de 'update' functie kies van DBNavigator: geen foutmelding, maar als ik in de database kijk of het programma vernieuws opstart zijn alle wijzigingen weer verdwenen :? Vergeet ik een stukje code te schrijven? Zie ik iets over het hoofd? Iemand enig idee hoe dit komt?

  • Just_a_Gamer
  • Registratie: November 2001
  • Laatst online: 27-05 07:15
misschien de methode applyupdates aanroepen ofzo?

  • ygma!l
  • Registratie: December 2002
  • Laatst online: 05-05 11:51
Just_a_Gamer schreef op 08 februari 2004 @ 12:18:
misschien de methode applyupdates aanroepen ofzo?
Dit heb ik geprobeerd, maar heeft echter geen effect :X
Ik heb ook al readonly [zconnection] zowel op true als false geprobeer, beiden helpen niet. Ik begrijp er helemaal nix van. Iemand nog suggesties?

Verwijderd

Ik vraag het maar even voor de zekerheid:
Je hebt wel de DeleteSQL, InsertSQL en ModifySQL properties van het UpdateSQL component gezet?

  • ygma!l
  • Registratie: December 2002
  • Laatst online: 05-05 11:51
Verwijderd schreef op 08 februari 2004 @ 15:13:
Ik vraag het maar even voor de zekerheid:
Je hebt wel de DeleteSQL, InsertSQL en ModifySQL properties van het UpdateSQL component gezet?
Ik heb daar nix ingevoerd... Met gebruik van DBNavigator is dit toch niet nodig en genereert hij toch z'n eigen sql code?

Verwijderd

Als je een UpdateSQL gebruikt moet je zelf die SQL schrijven. Als je wil dat hij zelf SQL genereerd moet je helemaal geen UpdateSQL gebruiken, maar dan krijg je waarschijnlijk weer het probleem dat de gegenereerde SQL fouten bevat.

  • ygma!l
  • Registratie: December 2002
  • Laatst online: 05-05 11:51
Verwijderd schreef op 08 februari 2004 @ 15:59:
Als je een UpdateSQL gebruikt moet je zelf die SQL schrijven. Als je wil dat hij zelf SQL genereerd moet je helemaal geen UpdateSQL gebruiken, maar dan krijg je waarschijnlijk weer het probleem dat de gegenereerde SQL fouten bevat.
Uhm, misschien een domme vraag, maar hoe kan ik er makkelijk voor zorgen dat ik makkelijk een sql code kan genereren als er gebruik word gemaakt van de DBNavigator of als er wijzigingen in de tabel worden aangebracht?

Verwijderd

Als je geen UpdateSQL gebruikt zou het gewoon goed moeten gaan. Of je wel of niet een DBNavigator gebruikt heeft geen invloed op het genereren van SQL. Het is het TQuery/ZQuery component dat de SQL genereerd.

Zoals al eerder door iemand is opgemerkt in deze thread, als je query joins gebruikt dan moet je een UpdateSQL gebruiken, omdat het Query component niet zo slim is dat hij dan nog zelf de SQL kan genereren. Het is me nog niet helemaal duidelijk of je nou joins gebruikt in de query of niet.

  • ygma!l
  • Registratie: December 2002
  • Laatst online: 05-05 11:51
Verwijderd schreef op 08 februari 2004 @ 16:51:
Als je geen UpdateSQL gebruikt zou het gewoon goed moeten gaan. Of je wel of niet een DBNavigator gebruikt heeft geen invloed op het genereren van SQL. Het is het TQuery/ZQuery component dat de SQL genereerd.

Zoals al eerder door iemand is opgemerkt in deze thread, als je query joins gebruikt dan moet je een UpdateSQL gebruiken, omdat het Query component niet zo slim is dat hij dan nog zelf de SQL kan genereren. Het is me nog niet helemaal duidelijk of je nou joins gebruikt in de query of niet.
Euh, ik gebruik geen joins.... (*eerlijk gezegd weet ik zo niet wat het zijn)

  • ygma!l
  • Registratie: December 2002
  • Laatst online: 05-05 11:51
Niemand die mij op weg kan helpen :'( ?

Het enige wat ik graag wil is dus een koppeling tussen de database zodat ik kan toevoegen/updaten/bekijken... Hierboven staan de gebruikte componenten en wat wel/niet werkt.

  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Ik vermoed dat het een bug is van de ZeOS componenten, want zoals je het schetst zou het echt moeten werken. Een ZQuery moet al genoeg zijn voor een simpele select * from table. Met update en al.

Dit al gelezen? http://zeoslib.sourceforg...=News&file=article&sid=32

We adore chaos because we like to restore order - M.C. Escher


  • ygma!l
  • Registratie: December 2002
  • Laatst online: 05-05 11:51
LordLarry schreef op 09 februari 2004 @ 19:48:
Ik vermoed dat het een bug is van de ZeOS componenten, want zoals je het schetst zou het echt moeten werken. Een ZQuery moet al genoeg zijn voor een simpele select * from table. Met update en al.

Dit al gelezen? http://zeoslib.sourceforg...=News&file=article&sid=32
Ik heb dia beginners manual idd al gelezen, maar dit lost niet mijn probleem op. Ik heb 6.0.12 patch 4, dus zouden dit soort fouten er toch niet in mogen zitten? Zijn er misschien mensen die wel kunnen zeggen welke versie evt. wel stabiel zijn?

  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

v5 is de laatste en stabiele versie die ik gebruikt heb

We adore chaos because we like to restore order - M.C. Escher


  • ygma!l
  • Registratie: December 2002
  • Laatst online: 05-05 11:51
LordLarry schreef op 09 februari 2004 @ 21:20:
v5 is de laatste en stabiele versie die ik gebruikt heb
Ik heb nu van de site 5.5 gedownload, maar deze krijg ik helemaal niet werkende. Als ik bij ZZQuery de Database component opgeef en vervolgens de Transaction component en probeer het te runnen dat zegt ie dat er geen Database component is opgegeven (idd, deze is plots verdwenen bij de properties van ZZQuery). Omgekeert is precies hetzelfde aan de hand. Ook als ik het met code opgeef werkt het niet. En als ik er 1 gewoon niet opgeef wil hij ook niet runnen. Weet jij of misschien iemand anders hoe dit kan?
Ik heb nu 5.5 gedownload, maar heb weer ongeveer hetzelfde probleem als mijn 1e post :'( Heb je misschien een voorbeeld voor me die WEL goed werkt?

[ Voor 12% gewijzigd door ygma!l op 11-02-2004 14:40 ]


  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Post jij anders ergens eens je projectje zoals je m nu hebt waar deze fout inzit. En geef even aan waar/wanneer je welke fout krijgt. Dan kunnen wij kijken waar het zit.

We adore chaos because we like to restore order - M.C. Escher


  • ygma!l
  • Registratie: December 2002
  • Laatst online: 05-05 11:51
LordLarry schreef op 11 februari 2004 @ 15:05:
Post jij anders ergens eens je projectje zoals je m nu hebt waar deze fout inzit. En geef even aan waar/wanneer je welke fout krijgt. Dan kunnen wij kijken waar het zit.
http://www.yoip.nl/Project1.zip
Hier heb ik een programma gemaakt met delphi 5 prof + ZeosDBO 5.5.
Ik maak gebruik van een mySQL database.

  • ygma!l
  • Registratie: December 2002
  • Laatst online: 05-05 11:51
Niemand? :|
Pagina: 1