[ASP/SQL/ACCESS] Gebruik van enkel quote geeft foutmeldingen

Pagina: 1
Acties:

  • mr._Anderson
  • Registratie: Februari 2000
  • Niet online

mr._Anderson

[Een man is nog geen Tweaker]

Topicstarter
Voordat ik mijn vraag uitleg, het kan misschien aan mij liggen, maar ik heb echt een aantal uur gezocht op GoT en op het web, ik kan geen oplossing vinden.


Ik heb een inlog gedeelte voor een site gemaakt waar je een aantal gegevens kan aanpassen, opzicht allemaal geen probleem.

Ik wil echter dat men gewoon " en ' kan gebruiken in de tekst die ze intypen.
Het gebruik van " heb ik al werkend gekregen door deze eerst optezoeken en ze dan te replacen door de volgende string: "
Die word dan vervolgens weer door de browser automatisch weer omgezet naar een zienbare "

Nu wil ik het dus ook voor elkaar krijgen dat men ' in kan typen.

**ik doe alles in asp code, van daar dat "" moet worden gelezen als een " **
**de tabel is quotes is opgebouwd uit: quotes(tekst,tekst,tekst,yes/no)**

In eerste instantie wou ik het volgende doen:
code:
1
sql="set quoted_identifier on insert into QUOTES values("""&variabele&""", """&variabele&""", ""("&variabele&" "&variabele&", "&variabele&")"", variabele)"


en de opgebouwde sql string laat ik dan gewoon uitvoeren als normaal via db.execute(sql)

Ik krijg dan een foutmelding:
Invalid SQL statement; expected 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT', or 'UPDATE'.

Toen heb ik het op de volgende manier geprobeerd:
code:
1
sql="insert into QUOTES values("""&variabele&""", """&variabele&""", ""("&variabele&" "&variabele&", "&variabele&")"", variabele)"


Ook hierbij krijg ik een foutmelding...
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 3.


Het grappige is dat ik een heb gekeken wat voor een sql statement gevormd word in mijn asp code..
uitgaande van de volgende opbouw:
code:
1
sql="insert into QUOTES values("""&variabele&""", """&variabele&""", ""("&variabele&" "&variabele&", "&variabele&")"", variabele)"

Word het volgende opgebouwd (gekopierd uit de gevormde html source):
code:
1
insert into QUOTES values("sefesf", "001", "(July 18, 2003)", false)


De gevormde sql code ziet er in mijn ogen helemaal goed uit,
je denk misschien dat ik enkele quotes moet gebruiken, dit zou niet hoeven in principe omdat als ik deze code direct in acces zet en uitvoer het geen probleem is en helemaal goed word uitgevoerd.

Verander ik te " toch in een ' dan word het natuurlijk weer wel goed uitgevoerd.

Weet iemand een oplossing, of een andere manier hoe ik toch '-tekens kan wegschrijven via sql naar de access database in asp code?

[ Voor 35% gewijzigd door mr._Anderson op 18-07-2003 21:12 ]

-=[Een wijs man zei eens: als een tweaker heb ik zo mijn TCP-IP connecties. Deze uitspraak staat tot op de dag van vandaag © mr._Anderson]=-=[ AMD64 overclock en registratie site: AMDGeeks.net


  • zneek
  • Registratie: Augustus 2001
  • Laatst online: 08-02-2025
SQL delimeter voor strings is ', dus dat:

code:
1
insert into QUOTES values("sefesf", "001", "(July 18, 2003)", false)


fout gaat is logisch. Wat SQL betreft is er zijn er geen geldige strings. Wat je niet moet vergeten is dat iets wat in Access werkt niet noodzakelijkerwijs via ASP/ADO hoeft te werken. JE oplossing: ' vervangen door '' (2 keer ' dus) en ' om de string vars.

Je Query zou er zo uit moeten zien:

code:
1
insert into QUOTES values('tekst met een '' erin', '001', '18/07/2003', false)


En dat datumformaat is afhankelijk van taal/landinstellingen.

[ Voor 40% gewijzigd door zneek op 18-07-2003 21:39 ]


  • mr._Anderson
  • Registratie: Februari 2000
  • Niet online

mr._Anderson

[Een man is nog geen Tweaker]

Topicstarter
zneek schreef op 18 July 2003 @ 21:33:
SQL delimeter voor strings is ', dus dat:

code:
1
insert into QUOTES values("sefesf", "001", "(July 18, 2003)", false)


fout gaat is logisch. Wat SQL betreft is er zijn er geen geldige strings. Wat je niet moet vergeten is dat iets wat in Access werkt niet noodzakelijkerwijs via ASP/ADO hoeft te werken. JE oplossing: ' vervangen door '' (2 keer ' dus) en ' om de string vars.

Je Query zou er zo uit moeten zien:

code:
1
insert into QUOTES values('tekst met een '' erin', '001', '18/07/2003', false)


En dat datumformaat is afhankelijk van taal/landinstellingen.
het datum formaat is ook geen datumformaat maar gewoon een tekstuele string die ik zelf telkens opbouw :) daarbij heb ik dus geen last.

Ik wou je net vragen een voorbeeld te geven maar dat heb je al gegeven naar je edit BEDANKT daarvoor.

ik heb nog wat lopen rommelen, en heb het nu opgelost.!

Hartelijk bedankt :)

-=[Een wijs man zei eens: als een tweaker heb ik zo mijn TCP-IP connecties. Deze uitspraak staat tot op de dag van vandaag © mr._Anderson]=-=[ AMD64 overclock en registratie site: AMDGeeks.net


  • zneek
  • Registratie: Augustus 2001
  • Laatst online: 08-02-2025
mr._Anderson schreef op 18 July 2003 @ 21:54:
[...]


het datum formaat is ook geen datumformaat maar gewoon een tekstuele string die ik zelf telkens opbouw :) daarbij heb ik dus geen last.

Ik wou je net vragen een voorbeeld te geven maar dat heb je al gegeven naar je edit BEDANKT daarvoor.

ik heb nog wat lopen rommelen, en heb het nu opgelost.!

Hartelijk bedankt :)
En wederom verlaat een tevreden klant het pand ;)