2016-07-18 2 views
0

'HD10'문자열 뒤에 인용 부호가없는 경우.SQLException : 닫히지 않는 인용 부호가 있지만 인용 부호가 발견되지 않았다.

나는이 오류에 대한 많은 해결책을 읽었으며 (') 때문에 분명히 언급되었습니다. 그러나 나는 SQL에서 위대함 아포스트로피를 검색했다.

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

아무 것도 나오지 않았습니다. 이것은 실제로 좋은 것을 의미합니다. 내 데이터는 훌륭합니다. 하지만 나쁜 소식은 아직도 해결할 수 없다는 것입니다.

나는 또한 잘라내거나 복제 한 것을 찾았는데, 나는 그것이 모르는 것을 알기를 바란다. 그리고 이것은 잘라내거나 복제의 흔적을 보이지 않습니다.

누군가가 실제로 뭔가 알고 있다면 (내가 한 일을하기 위해 동일한 조언을하는 것의 옆에) 많은 도움이 될 것입니다. 고맙습니다.

----- 편집 해 -------는

이이 프로그램이 있었다 나는이 코드에서 오는 오류를 생각 해달라고 ** 내 프로그램 코드

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을 보여줍니다 곳 (그리고이 일을 실행하는 사람은 이미 다른 부서로 옮겼다). dbcommand는 예외를 표시합니다.

메신저 SQL 서버 2008

+0

어떤 SQL 버전을 사용하고 있으며 어떤 문자열을 찾으려고합니까? 또한 거기에서 일어나는 탈출이있을 수 있으므로 관련 .NET 코드를 포함시킬 수 있습니까? –

+1

C# 코드에서 쿼리를 실행할 때이 예외가 발생합니까? 그렇다면이 문제가있는 코드를 게시 할 수 있습니까? – Steve

+0

내 테이블 중 하나에 '좋아요'% ''% ''이 (가)있어 문제가 없습니다. 작은 따옴표 하나만 검색한다고 가정합니다. – TehSphinX

답변

0

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

문자열 사이에 '당신이 원하는 때 너무 문자열의 문자를 폐쇄/개방되는'시도해보십시오, 당신은

순서를 탈출해야합니다 다른 문자 '입니다.

(2 문자), 2 문자 esc'

즉. '' '

+1

약간의 설명이 도움이 될 것입니다. – showdev

+0

따옴표가 들어있는'VoucherNo' 값이 있는지 보려면 OP에 하나의 (이스케이프 된) * 단일 * 따옴표가 필요합니다. –

관련 문제