1

SQL クエリを使用して trackEvents onclick 関数を作成しようとしていますが、すべてがうまくいかず、クエリ内の特殊文字をエスケープする方法がわかりません。

これは私が取得しようとしているものです:

<a href="http://domain.com/download.pdf" onclick="_gaq.push(['_trackEvent','Download', 'PDF', 'Test Tracking']);">Test tracking</a>

このクエリの使用:

SELECT
'<a href="' + downloadurl + '" class="pdf" onclick="_gaq.push(["_trackEvent",
"Download", "PDF", "' + prd.title + '"]);">Download</a>' as targetWebsite

FROM product prd

WHERE
id = @dbid@
and downloadurl <> ''

現在の出力:

<a href="http://domain.com/download.pdf" class="pdf" onclick="_gaq.push([" _trackevent",="" "download",="" "pdf",="" "title"]);"="">Download</a>

一重引用符をエスケープする方法と、「=」文字と余分な引用符が含まれている理由を知りたいです。SQL文字列の複雑さを軽減するためにjavascript関数を含むさまざまなことを試しましたが、うまくいきませんでした。

4

1 に答える 1

0

二重引用符の代わりに単一引用符を表示する場合は、単一引用符を二重にします。

DECLARE @downloadurl VARCHAR(50)
DECLARE @title VARCHAR(50)
SET @downloadurl = 'http://domain.com/download.pdf'
SET @title = 'Test Tracking'


SELECT
'<a href="' + @downloadurl + '" class="pdf" onclick="_gaq.push([''_trackEvent'',
''Download'', ''PDF'', ''' + @title+ ''']);">Download</a>' as targetWebsite
于 2013-01-08T15:31:24.650 に答える