"The thing under my bed waiting to grab my ankle isn't real. I know that, and I also know that if I'm careful to keep my foot under the covers, it will never be able to grab my ankle." - Stephen King
Quinta: 3 januari 2005
Verwijderd
1
2
3
4
5
| Public Function AddQuotes(ByVal txt As String) AddQuotes = Replace(txt, "'", "''") End Function SQLString = "select * from " & TableName & " where " & CodeName & " = '" & AddQuotes (SearchString) & "'" |
werkt voor mij :-)
Oeps
wat ik dacht dat je problemen had met ' in je Where statement,
mijn functie plaats daar dus een extra ' (singleqoute) bij.
Zodat sql niet over de zeik gaat
nu klopt ie
[ Voor 99% gewijzigd door Verwijderd op 10-04-2003 17:44 ]
- " kun je toevoegen met de functie Chr(34)
- Als het om een Oracle database gaat, met je single quotes gebruiken (')
SELECT * FROM tabel WHERE codename = ""Blaat""
dus "" in een string geeft "
maar met enkele quotes zou idd ook weleens kunnen werken, moet je wel ff de functie van meteorite gebruiken
wordt wel zo overigens
[code]
Public Function AddQuotes(ByVal txt As String)
AddQuotes = Replace(txt, "'", "''")
End Function
SQLString = "select * from " & TableName & " where " & CodeName & " = '" & AddQuotes (SearchString) & "'"
[/code]
[ Voor 43% gewijzigd door j_du_pee op 10-04-2003 17:38 ]
kaart != map && bottel != fles
Wacht op antwoord
Overigens kan je ook een constante maken, zoals:Surehand schreef op 10 April 2003 @ 17:32:
Twee zaken:
- " kun je toevoegen met de functie Chr(34)
- Als het om een Oracle database gaat, met je single quotes gebruiken (')
1
| Private Const Quote = """" |
En die gaan gebruiken
Overigens klein beetje miere-neuken, Chr$(34) is sneller, en beter, aangezien daar geen variant conversie in komt. dit geldt voor alle stringfuncties (left,mid,right,trim), en bij veelvoudig gebruik is het zeker aan te raden $ erbij te zetten.
Verwijderd
Je hebt gelijk :-) is te laat voor me denk dat ik maar naar huis gaat kan nu ff geen code meer zienj_du_pee schreef op 10 april 2003 @ 17:36:
wordt wel zo overigens
[code]
Public Function AddQuotes(ByVal txt As String)
AddQuotes = Replace(txt, "'", "''")
End Function
SQLString = "select * from " & TableName & " where " & CodeName & " = '" & AddQuotes (SearchString) & "'"
[/code]
[ Voor 31% gewijzigd door Verwijderd op 10-04-2003 17:41 ]
Dat klopt wel, maar dan wordt het SELECT * FROM tabel WHERE codename = """Blaat"""j_du_pee schreef op 10 April 2003 @ 17:36:
om je vraag te beantwoorden:
SELECT * FROM tabel WHERE codename = ""Blaat""
dus "" in een string geeft "
https://fgheysels.github.io/
whoami schreef op 10 april 2003 @ 20:33:
Waarom maak je geen gebruik van parameters in je SQL statement die je dan kan gaan opvullen ipv die query in je code te gaan concateneren?
Ik snap niet wat je bedoelt. Ik ben er nog maar sinds kort mee bezig (VB en databases)
1
2
3
4
5
| Public Function AddQuotes(ByVal txt As String) AddQuotes = Replace(txt, "'", "''") End Function SQLString = "select * from " & TableName & " where " & CodeName & " = ' " & AddQuotes (SearchString) & " ' " |
Volgens mij werkt dit niet vanwege de twee single quotes die op deze manier niet wordt vervangen......
Volgens mij werkt dit beter:
1
2
3
4
5
| Public Function AddQuotes(ByVal txt As String) AddQuotes = Replace(txt, "'", "''") End Function SQLString = AddQuotes ("select * from " & TableName & " where " & CodeName & " = '" & SearchString & "'" |
[ Voor 64% gewijzigd door Schonhose op 11-04-2003 08:29 ]
"The thing under my bed waiting to grab my ankle isn't real. I know that, and I also know that if I'm careful to keep my foot under the covers, it will never be able to grab my ankle." - Stephen King
Quinta: 3 januari 2005
Ik weet niet precies hoe je het in VB doet (heb geen ervaring met VB), maar in C# of in Delphi doe je dat als volgt:Athos schreef op 11 april 2003 @ 08:17:
[...]
Leg uit whoami...
Ik snap niet wat je bedoelt. Ik ben er nog maar sinds kort mee bezig (VB en databases)
1
2
3
4
5
| SqlCommand cmdGetEmpl = new SqlCommand();
cmdGetEmpl.CommandText = "SELECT * FROM tblEmployees WHERE empid = @p_empId";
cmdGetEmpl.Parameters.Add("@p_empId", SqlDbType.Int);
cmdGetEmpl.Parameters["@p_empId"].Value = 7; |
of in Delphi:
1
2
| Query1.SQL.Text = 'SELECT * FROM tblEmployee WHERE empid = :p_empId';
Query1.ParamByName ('p_empId').AsInteger = 7; |
Ik vermoed dat je in VB een parameter met een ? moet definieren.
Idd:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| sqlReqDefn = "SELECT " sqlReqDefn = sqlReqDefn & "REQ_CODE, RELEASE_ID, FULL_NAME, " sqlReqDefn = sqlReqDefn & "PROMOTION_LEVEL, VIEW_NAME, VALIDATION_CLASS, " sqlReqDefn = sqlReqDefn & "HELP_URL, ROLE, PROC_ADMIN, " sqlReqDefn = sqlReqDefn & "DURATION, START_TYPE, PRIORITY, " sqlReqDefn = sqlReqDefn & "WF_TEMPLATE, CHANGED_BY, IS_HIDDEN, NOTES, CHANGE_DATE " sqlReqDefn = sqlReqDefn & "FROM IBP.IBPD_REQ_DEF " sqlReqDefn = sqlReqDefn & "WHERE " sqlReqDefn = sqlReqDefn & "REQ_CODE = ? AND RELEASE_ID = ? " sqlReqDefn = sqlReqDefn & "ORDER BY FULL_NAME DESC" CreateADOCommand cmd, sqlReqDefn cmd.Parameters.Item(0) = vReqCode cmd.Parameters.Item(1) = vReleaseID |
zie ook hier
[ Voor 36% gewijzigd door whoami op 11-04-2003 09:33 ]
https://fgheysels.github.io/
1
| strSQL = "SELECT * FROM tabel WHERE codenaam = 'blaat'" |
ff toegepast op jouw vraag:
1
| SQLString = "select * from " & TableName & " where " & CodeName & '" = " & SearchString & "'" |
[ Voor 50% gewijzigd door riezebosch op 12-04-2003 22:08 ]
Canon EOS 400D + 18-55mm F3.5-5.6 + 50mm F1.8 II + 24-105 F4L + 430EX Speedlite + Crumpler Pretty Boy Back Pack
Voorbeeld:
"Het woord " & Chr(34) & "woord" & Chr(34) & "staat tussen quotes"
Geeft:
Het woord "woord" staat tussen quotes
Ook maar dat ik dat weet!
Verwijderd
Maar zoals al eerder gezegd kan het veel simpeler:vbmot schreef op 12 april 2003 @ 22:44:
Chr(34) opnemen in je query. Dit geeft een quote in een string...
Voorbeeld:
"Het woord " & Chr(34) & "woord" & Chr(34) & "staat tussen quotes"
Geeft:
Het woord "woord" staat tussen quotes
"Het woord ""woord""staat tussen quotes"
Geeft precies hetzelfde, en
"Het woord """ & sMyWord & """staat tussen quotes"
zorgt ervoor dat sMyWord tussen quotes komt. Je wordt soms gek van de quotes, maar het is veel sneller tikken dan dat stomme Chr(34)
Toch kan het nooit kwaad om andere mogelijkheden te leren kennen.
"The thing under my bed waiting to grab my ankle isn't real. I know that, and I also know that if I'm careful to keep my foot under the covers, it will never be able to grab my ankle." - Stephen King
Quinta: 3 januari 2005