Toon posts:

Voor de echte Die Hards

Pagina: 1
Acties:
  • 47 views sinds 30-01-2008

Verwijderd

Topicstarter
Beste MedeTweakers,
Ik zit met een groot probleem, ik heb dit probleem hier al een keer eerder gepost maar daar was helaas geen correct antwoord uitgekomen.

Ik kan via een programma een SQL query uitvoeren laten we zeggen dat dit de query is:
code:
1
"select field1 from table WHERE field2='%variable' OR field2=CONCAT('%variable','test')";


De variable waarmee ik in deze query selecteer kan maar 1 keer gebruikt worden :S
Dus de eerste keer bevat de variable nog een value maar bij de CONCAT is deze leeg, nu moet ik dus die variable via MySQL 2 keer kunnen gebruiken

Heeft iemand hier isschien een oplossing voor?

[ Voor 5% gewijzigd door Verwijderd op 06-12-2003 17:46 ]


  • chem
  • Registratie: Oktober 2000
  • Laatst online: 26-05 15:19

chem

Reist de wereld rond

Je bralt maar wat, welke taal? welke SQL server? Wat een brakke titel?

Klaar voor een nieuwe uitdaging.


Verwijderd

Waarom kunnen ze maar 1x gebruikt worden?

  • Xenon
  • Registratie: Januari 2001
  • Laatst online: 18-05 07:36
Meer info pls, gaat dit over PHP?

ProtocoLAN.be: De beste LAN van de Maaskant


  • Roelant
  • Registratie: Januari 2001
  • Niet online
Verwijderd schreef op 06 december 2003 @ 17:47:
Waarom kunnen ze maar 1x gebruikt worden?
Is een wegwerpvariabele, da's nieuw ;)

  • Remy
  • Registratie: Februari 2002
  • Laatst online: 24-05 16:22

Remy

I usually get 100% accuracy

Amendo_NL, ik moet zeggen dat je topicstart weinig Die Hard overkomt? Wat meer info zou op z'n plaats zijn teneinde je probleem duidelijk te krijgen :)

LinkedIn
Instagram


Verwijderd

Topicstarter
Ik gebruik hiervoor een MySQL server onder linux.
Het programma geeft de variable maar 1 keer weg daarna is hij dus leeg.

  • coubertin119
  • Registratie: Augustus 2002
  • Laatst online: 25-05 19:01
offtopic:
"Ik ben geen die-hard maar ik weet het wel, mag ik het nu eigenlijk zeggen of niet?"

Geef 'ns wat meer info, errors/voorbeelden etc.
Echo de result eens uit tussen de verschillende acties, wat gebeurt er dàn?

[ Voor 27% gewijzigd door coubertin119 op 06-12-2003 17:50 ]

Skat! Skat! Skat!


  • Roelant
  • Registratie: Januari 2001
  • Niet online
Verwijderd schreef op 06 december 2003 @ 17:49:
Ik gebruik hiervoor een MySQL server onder linux.
Het programma geeft de variable maar 1 keer weg daarna is hij dus leeg.
Oh, gewoon een kwestie van er snel bij zijn dus 8)

Verwijderd

Topicstarter
Dat is dus het probleem :)
Het programma is geschreven in C++ en ik kan niet bij de sourcecode.
Het configuratie bestand geeft mij een optie om een SQL query te gebruiken om data uit een MySQL database te halen.
Ga dus niet denken aan het wijzigen van de Source Code.
Het gaat hier PUUR om de (My)SQL Query

Verwijderd

Verwijderd schreef op 06 december 2003 @ 17:49:
Ik gebruik hiervoor een MySQL server onder linux.
Het programma geeft de variable maar 1 keer weg daarna is hij dus leeg.
Owkee... hebbie dan wat code voor ons B)

Verwijderd

de titel slaat nergens op !!! Ik dacht iets cools..maar het gaat over boring SQL commandlines.

  • EL_Loco
  • Registratie: Oktober 2001
  • Laatst online: 08-11-2023

EL_Loco

alias Haco

waarom stop je niet eerst die var in je DB in een aparte table,
dan vis je hem er naderhand weer uit om hem in je query te gebruiken
omslachtig is het wel :|

[ Voor 1% gewijzigd door EL_Loco op 06-12-2003 17:54 . Reden: typo's ]

rumores non hiatus dremelunt
malleo omnia consentiunt
Lid van het Anti-Jamba front!


  • Pino
  • Registratie: Oktober 2001
  • Laatst online: 14:16
Die variabelen van jou komen uit dat C++ pakket, ze zijn geen user variabelen van MySQL. Hoe kan dit dan MySQL specifiek zijn?

Dan zou het zo wel moeten werken:

code:
1
2
"set @iets="%variable";
"select field1 from table WHERE field2=@iets OR field2=CONCAT(@iets,'test')";

[ Voor 40% gewijzigd door Pino op 06-12-2003 17:57 ]

"If you don't know where you are going, any road will take you there"


Verwijderd

Topicstarter
Omdat ik maar 1 query kan gebruiken :)
Als ik dus via 1 query iets in de DB kan zetten en die er weer uit kan halen vink het goed :)
Het nadeel is alleen dat de query ongeveer 300 keer per minuut wordt uitgevoerd dus het is maar de vraag of dat goed gaat :)

Het is specifiek op MySQL gericht omdat ik geen sourcecode van de C++ applicatie heb :)
Het heeft dus geen nut om de variable ergens in de applicatie op te slaan omdat dat simpelweg niet kan :D

[ Voor 28% gewijzigd door Verwijderd op 06-12-2003 17:57 ]


Verwijderd

Verwijderd schreef op 06 december 2003 @ 17:51:
Het configuratie bestand geeft mij een optie om een SQL query te gebruiken om data uit een MySQL database te halen.
Nu snap ik helemaal niet meer wat je wilt... zit het nou in het programma... wat wil je met de data? Ik denk dat een uitleg (goh, ik ben de eerste die er om vraagt... ownee iedereen was me voor :9 ) niet echt onhandig is.

  • porn*
  • Registratie: Januari 2001
  • Laatst online: 15:55

porn*

...take on the world!

Als het klopt wat ik uit je tekst opmaak, is de eerste keer dat %variable voorkomt, deze waarde ingevuld, maar op de tweede plek niet. Dan klopt je query dus gewoon niet, en wordt hij niet goed in de sourcecode ingevuld, lijkt me zo?

Of begrijp ik je verkeerd?

Bnet pindle#2913


Verwijderd

Topicstarter
Ik kan helaas niet meer info geven :)
Dit is ook alles wat ik weet :)
Wat voor applicatie het is maakt ook niet uit omdat het een applicatie is die opmaat geschreven is voor mij :)


Zoals ik al zei weet ik 100% zeker dat het niet aan de query ligt omdat ik dit al uitgebreid getest heb
De PROGRAMMATUUR geeft de variable maar 1 KEER weg :)

[ Voor 32% gewijzigd door Verwijderd op 06-12-2003 17:59 ]


  • chem
  • Registratie: Oktober 2000
  • Laatst online: 26-05 15:19

chem

Reist de wereld rond

is het letterlijk %variabele?
anders is het waarschijnlijk een sprintf(), en dan kan je gewoon de var hergebruiken, dmv '%1\$s' oid

Klaar voor een nieuwe uitdaging.


Verwijderd

Topicstarter
Het is niet lekkerlijk %variable.
De variable heet %s
Het programma is geschreven in Linux.

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Die C++ code doet dus een enkele replace op die string om die %variabele te vervangen.
code:
1
"select field1 from table WHERE TRIM(TRAILING 'test' FROM field2)='%variable'";

Who is John Galt?


  • SuperRembo
  • Registratie: Juni 2000
  • Laatst online: 20-08-2025
Voor meer info zie z'n vorige topic hierover: [rml][ MySQL] Ingewikkelde query *[/rml]

| Toen / Nu


Verwijderd

Topicstarter
De C++ code vervangt niets :)
Hij geeft de variable maar 1 keer :D
Ik denk dat het die sprintf oplossing is :D kweet alleen nog niet hoe ik die precies moet toepassen ;)Het gaat er dus om dat ik die variable 1 keer zonder concat kan gebruiken en 1 keer met:)

  • whoami
  • Registratie: December 2000
  • Laatst online: 15:14
Lees even de P&W Quickstart en dit topic over topictitels.

De hele tijd lopen gissen enzo heeft ook geen zin.

Zoek daarnaast eens op of je niet op een andere manier parameters kunt gaan gebruiken zoals hier ipv string replacement te doen.

[ Voor 16% gewijzigd door whoami op 06-12-2003 18:19 ]

https://fgheysels.github.io/

Pagina: 1

Dit topic is gesloten.