2016-07-18 49 views
0

文字列 'HD10'の後ろには閉じられていない引用符があります。SQLException:引用符は閉じていませんが、引用符はありません。

私はこのエラーの解決策をたくさん読んでおり、( ')のために明確に述べられています。しかし、私はSQLで偉大さのアポストロフィを検索しました。

select * from Voucher where VoucherNo like '%''%' 

何も出ていません。これは実際には良いことを意味します。私のデータは素晴らしいです。しかし、悪いニュースは、私はまだこれを解決することはできません。

また、切り詰めや重複を検索しただけではわかりませんが、私が知っていることを知りません。そしてこれは切り捨てられたり複製されたりする兆候を示さない。

誰かが本当に何かを知っているなら(私がすでにやったことをするのと同じ助言を与えるのと同じ)、それは多くの助けになります。ありがとうございました。

----- EDITTED -------

これは私のプログラムコード

public override VoucherCollection GetVoucherWhere(string whereCondition) 
    { 
     VoucherCollection VoucherCollection = new VoucherCollection(); 
     Database db = SqlDataHelper.CreateConnection(_sqlConnectionString); 
     DbCommand dbCommand = db.GetStoredProcCommand("SP_SELECT_Voucher_WHERE"); 
     db.AddInParameter(dbCommand, "whereExpression", DbType.String, " " + whereCondition); 
     using (IDataReader dataReader = db.ExecuteReader(dbCommand)) 

で、このプログラムがされているよう**私は、エラーがコードから来ると思ういけません2年間走っています。しかし、それは私のクライアントがボーナスのために新しいバウチャーを実行した直後に来ただけです。 (そして、この事を実行する人は、すでに別の部署に転送している)

文がDB内のすべてのvouchernoを示しザ・が。 dbコマンドは例外を表示します。

イムSQL Server 2008の

+0

使用しているSQLのバージョンと一致する文字列は何ですか?また、関連する.NETコードを含めることもできますか。そこでは何らかのエスケープが発生する可能性があります。 –

+1

C#コードからクエリを実行すると例外が発生しますか?はいの場合は、この動作を持つコードを投稿できますか? – Steve

+0

私のテーブルの1つに 'like '%' '%''があり、問題はありません。 1つの一重引用符を検索していると仮定します。 – TehSphinX

答えて

0

 select * from Voucher where VoucherNo like '%''''%' 

は、文字列の間に 'あなたが欲しいときに、文字列の文字を閉じる/開いている' お試し使用して、あなたが

は、エスケープシーケンスが必要になりますこれは他の文字です

2 '文字、2つのesc char'

ie。 '' '

+1

少し説明すれば助かります。 – showdev

+0

OPには、引用符を含む 'VoucherNo'値があるかどうかを見るために、(エスケープされた)*単一*引用符が必要です。 –

関連する問題