2016-04-26 15 views
0

を取得していない私持っている。このようなストアドプロシージャ:SQL Serverのストアドプロシージャ:SELECT文でアポストロフィを持つ変数は、値

ALTER PROCEDURE [dbo].[spBlogPostGet] 
    @Id int NULL, 
    @ParentBlogTitle varchar(150) NULL 
AS 
    IF @Id > 0 
    BEGIN 
     SELECT * 
     FROM tblBlogPosts 
     WHERE Id = @Id; 
    END 
    ELSE IF @ParentBlogTitle IS NOT NULL 
    BEGIN  
     SELECT * 
     FROM tblBlogPosts 
     WHERE ParentBlogTitle = @ParentBlogTitle; 
    END 
    ELSE 
    BEGIN 
     SELECT * 
     FROM tblBlogPosts 
     ORDER BY(DateCreated); 
    END 

そして、私はでテストしようとしている:

use MyDb 

exec spBlogPostGet 
      @Id = 0, @ParentBlogTitle = 'some dude''s Blog'; 

I親ブログのタイトル「Some Dude's Blog」のブログ投稿がありますが、私のストアドプロシージャはこの行を取得していません。名前にアポストロフィを持たない行を取得しようとすると、名前付き行が選択されます。

私はこれに対する解決策を見つけることができません - 私はSQLの非常に基本的な理解といくつかの指針を感謝します。

ありがとうございました

+0

アポストロフィはそのブログのタイトルに表示されますか? –

答えて

1

... aaaaaと私はばかです。私は、Ajaxリクエストで値を渡し、選択した値の代わりにドロップダウンリストからテキストを取得していました。私のSQLテーブルには正しい値が表示されていましたが、コードをステップ実行するときにドロップダウンリストの内容全体を渡していたので、何も返されませんでした。

関連する問題