Results 1 to 8 of 8

Thread: fout in sql statement (hulp gezocht)

  1. #1
    Registered User
    Join Date
    Dec 2004
    Location
    Kerkrade, LI
    Posts
    10

    fout in sql statement (hulp gezocht)

    Hallo,

    ik heb een programma gemaakt dat text files in een mysql database wegschrijft en zo de producten op een website actueel houdt. In het begin betrof het hier alleen de prijs. Ik gebruikte hiervoor onderstaand sql statement:
    Code:
    sql := 'UPDATE products SET Price = "' + uPrijs + '", 
    C1 = 1, C2 = 1, C3 = 1, C4 = 1, C5 = 1 WHERE No = "' + dProduct + '"';
      try
        MySQLUpdate.ExecSQL(sql,false,false,'shop','products');
      except end;
    De C1 tm C5 geven de voorraadpositie weer(is nu niet van belang). Nu is mij gevraagd geworden om ook de omschrijving van het product mee te updaten.
    De variable uOmschrijving heb ik toegevoegd als string en gestest of deze netjes wordt gevuld. De sql statement ziet er nu als volgt uit:
    Code:
    sql := 'UPDATE products SET Long = "' + uOmschrijving + '", Price = "' + uPrijs 
    + '", C1 = 1, C2 = 1, C3 = 1, C4 = 1, C5 = 1 WHERE No = "' + dProduct + '"';
      try
        MySQLUpdate.ExecSQL(sql,false,false,'shop','products');
      except end;
    Nu krijg ik een error met de melding dat mijn sql syntax niet in orde is. Ter info: zowel het record Price Als Long zijn in de MySQL database ingesteld als varchar met een lengte van 225.

    Kan iemand me vertellen wat ik in vredesnaam fout doe ?
    Last edited by Dees; 03-Feb-05 at 11:04.

  2. #2
    TCustomBuild Rob Bos's Avatar
    Join Date
    Jan 2003
    Location
    Eindhoven
    Posts
    4,213
    1 : Werk met parameters in je query want dit is niet leesbaar. (Zie de artikelen sectie voor Dees' artikelen).
    2 : Geef een duidelijk format aan je post hierboven wat dat is ook niet leesbaar. (Zie de tekst boven in het scherm als je een nieuwe post doet).

  3. #3
    Als er nu een ' " of , in je query staat kan het best zijn dat je SQL wordt afgebroken waardoor je SQL niet meer geldig is. Gebruik parameters dat is duidelijker leesbaar en anders had je in ieder geval QuotedStr moeten gebruiken.


  4. #4
    Registered User
    Join Date
    Dec 2004
    Location
    Kerkrade, LI
    Posts
    10
    Bedank voor de tips, ik ga het eens proberen.

    P.S.
    Rob Bos en Dees: ik zal er voortaan aan denken.

  5. #5
    Registered User
    Join Date
    Dec 2004
    Location
    Kerkrade, LI
    Posts
    10

    Probleem Verholpen

    Het probleem is opgelost. Het record Long in de MySQL tabel zorgde voor deze foutmelding daar Long een gereserveerd woord is.

    Gr, Jos

  6. #6
    Senior Member
    Join Date
    Oct 2003
    Location
    De pinte BE
    Posts
    183
    Ik vreesde er zelfs voor dat 'No' problemen ging geven. Ik dacht wel dat je dit kon oplossen door [fieldname] vierkante haakjes rond de fieldname te plaatsen ? Misschien niet voor alle databases van toepassing ??
    Waarom voel ik me hier zo klein

  7. #7
    @Picasso het kan wel, blokhaken of " ", maar beter is geen reserved words in je tabel/veldnamen te gebruiken, dat voorkomt een heleboel problemen.

  8. #8
    Senior Member
    Join Date
    Oct 2003
    Location
    De pinte BE
    Posts
    183
    Beter voorkomen dan genezen... das zeker. Maar eens je in de miserie zit moet er toch een oplossing gevonden worden (net als bvb spaties en andere rommel, franstaligen zijn daar straf in ?á é enzomeer)...
    Waarom voel ik me hier zo klein

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Replies: 13
    Last Post: 21-Apr-04, 15:50
  2. Date-time in SQL (zonder Delphi parameters)
    By Baldo in forum Databases
    Replies: 16
    Last Post: 14-Jan-04, 16:23
  3. Replies: 27
    Last Post: 29-Jul-03, 09:17

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •