24 May 21:17
Re: DBI: Überfluessiges Quoten verhindern
Michael Neumann <mneumann <at> ntecs.de>
2004-05-24 19:17:38 GMT
2004-05-24 19:17:38 GMT
On Mon, May 24, 2004 at 09:07:05PM +0200, Detlef Reichl wrote:
> Hallo,
>
> bei der Nutzung von SQL via DBI kommt es des häufigeren bei mir vor,
> dass auch die Spaltennamen erst zur Laufzeit festgelegt werden.
> Beispiel:
>
> @handle.do("INSERT INTO ? (Word)
> VALUES (?)", @lang_source, source)
>
> Dies geht schief, da @lang_source gequoted wird. Deshalb weiche ich
> momentan auf folgendes Gebilde aus:
>
> @handle.do("INSERT INTO " + @lang_source + " (Word)
> VALUES (?)", source)
Mit Interpolation:
@handle.do("INSERT INTO #{ @lang_source } (Word) VALUES (?)", source)
Oder gar so (aber nicht zu empfehlen):
@handle.do("INSERT INTO #@lang_source (Word) VALUES (?)", source)
> Gibt es eine Möglichkeit das quoting selectiv zu unterbinden. Waere es
> nicht praktisch, wenn der DBI Treiber dies nicht selbst richtig
> macht
? Habe leider nichts in der Doku gefunden.
Nein, ist glaub nicht machbar, es sei denn man würde einen SQL-Parser
schreiben, der weiss an welcher Stelle ein Spaltenname kommt, oder man
(Continue reading)
RSS Feed