Hej, Ersätt alla ' med 2 ' (''): SQL = "select * from table_name where compName = :param1"Hantering av särskilda tecken i SQL-sträng
Jag upptäckte just att jag får en bugg när jag använder denna SQL-sats för att hämta info från databasen angående ett företag som har en enkel"fnutt" i sitt namn... (Hutchinson's):
SQL = "SELECT * FROM Companies,News WHERE Companies.compId = News.compId AND Companies.compName ='" & comp & "' ORDER BY date"
comp är alltså i detta fallet Hutchinson's - och därmed avslutas strängen vid apostrofen...
Nån som har nån lösning på hur jag hanterar detta?Sv: Hantering av särskilda tecken i SQL-sträng
SQL = "SELECT * FROM Companies,News WHERE Companies.compId = News.compId AND Companies.compName ='" & Replace(comp, "'", "''") & "' ORDER BY date"
/JohanSv: Hantering av särskilda tecken i SQL-sträng
1) You must create ADODB.Command object first
Set cmd = New ADODB.Command
cmd.ActiveConnection = myCnn
cmd.CommandType = adCmdText
cmd.CommandText = SQL
2) Then create ADODB.Param
Set prm = cmd.CreateParameter(":param1", advarchar, adParamInput)
cmd.Parameters.Append prm
prm.Value = "Hutchinson''s"
3) finally, open your recordset
cmd.Execute
rs.open cmd
See MSDN for details.