Toon posts:

[Jet SQL] gebruik " ' " in tekstveld

Pagina: 1
Acties:
  • 119 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik heb een VB6 programma gemaakt die een database vult en updated, hiervoor gebruik ik SQL instructies, het probleem is echter dat in de tekstvelden ook een enkel aanhalingsteken kan zitten. Bijvoorbeeld

code:
1
2
3
4
tekst = " Voorbeeld gebruik ' in SQL"

sql = "UPDATE TABEL SET TABEL.COMMENT = '" & tekst & "' WHERE TABEL.ID = 1"
db.execute(sql)


Je krijgt nu echter als sql statement

UPDATE TABEL SET TABEL.COMMENT = ' Voorbeeld gebruik ' in SQL ' WHERE TABEL.ID = 1

en dat pikt hij niet.

Hoe kan ik dit oplossen?

  • whoami
  • Registratie: December 2000
  • Laatst online: 10:21
Gebruik parameters in uw query, dan ben je direct van het probleem verlost. Ik weet wel niet hoe je dat in VB6 implementeert maar in VB.NET en C# doe je het als volgt:
code:
1
2
3
cmdQuery.CommandText = "SELECT * FROM table WHERE id = @p_Id";
cmdQuery.Parameters.Add ( .... );
cmdQuery.Parameters["@p_Id"].Value = 1;

Dan hoef je zelf geen rekening meer te houden met quotes ed.

Anders kun je ook eens nagaan of VB een functie heeft ala QuotedStr (Delphi) of AddSlashes oid.

https://fgheysels.github.io/


  • zoepercavia
  • Registratie: September 2001
  • Laatst online: 26-12-2025
Replace(str, "'", "''") moet ook werken, oftewel vervang alle enkele quotes door dubbele quotes...

Panacea.NL als je geinteresserd bent in IT en Geneeskunde!