2012-03-23 3 views
0

정적 문자열 connStrCheckData = "Provider = Microsoft.ACE.OLEDB.12.0; 데이터 원본 ="+ Server.MapPath ("test.xlsx") + "; 확장 속성 = Excel 12.0;";삽입 OleDbException 구문 오류

정적 문자열 oledbConnCheckData = new OleDbConnection (connStrCheckData);

string adsName = "MagMall.com - 1000 매 잡지 구독료 절감";

OleDbCommand cmd = new OleDbCommand(); cmd.CommandType = CommandType.Text; cmd.CommandText = "[sheet1 $] ([column1]) 값에 삽입 ('"+ adsName.ToString(). Trim() + "')"; cmd.Connection = oledbConnCheckData;

 oledbConnCheckData.Open(); 

     cmd.ExecuteNonQuery(); 

     oledbConnCheckData.Close(); 

Errro : 구문 오류 쿼리 식 (누락 된 연산자) ''MagMall.com - 잡지의 1000의에 가입 절감 ')'.

위의 오류 "MagMall.com - 잡지의 구독료 절감"단어를 삽입하려고했을 때 위와 같은 오류가 발생했습니다. 1000 년대의 (하지 \ ') : 유르겐 말했듯이

답변

0

처럼 1,000's에서 '을 탈출해야합니다. 이중 배정은 진술을 전달하는 올바른 방법입니다.

0

당신은 당신이 추가로 하나를 추가하는 단일 아포스트로피 구매를 탈출 HVE이 1,000\'s

+0

하이픈 "-"은 문제를 일으킬 수 있습니다. 그리고 adsName의 값은 루프에서 매번 변경되고, 어떻게 변수에 이스케이프를 적용 할 수 있습니다. – Shailesh

+0

adsName.ToString(). Trim(). Replace (" '", "\'")하지만 여전히 오류가 발생했습니다. – Shailesh

+0

@Shailesh :'adsName.ToString(). Try(). Replace (" '", "\\'")' –

관련 문제