2014-05-25 2 views
1

저는 C#의 초보자이며 문제를 해결하기 위해 많은 게시물을 검토했지만 아무런 운이 없었기 때문에 생각했습니다. 나는 당신의 도움을 요청하는 게시물을 만들 수도 있습니다. 기본적으로 일부 추가 정보로 Excel 파일을 업데이트하려고하는데이 오류가 계속 발생하면서 소스 코드를 실행할 때마다 문제가 발생합니다.쿼리 표현식에서 구문 오류 (누락 된 연산자), Oledb UPDATE 문

'System.Data.OleDb'형식의 처리되지 않은 예외입니다. OleDbException '이 (가) System.Data.dll에서 발생했습니다.

추가 정보 : 쿼리 식'구문 오류 (연산자가 누락되었습니다) '무선 스테레오 헤드폰 (TAK) (손상된)'.

나는 UPDATE 문 대신 INSERT 문을 사용하는 것을 포함하여 문제를 해결하기 위해 많은 방법을 시도했지만 아무것도 작동하지 않는 것 같습니다.

도움말 =)에 다시 한 번 감사드립니다.

int m_intRecipientESMID = Convert.ToInt32(m_recipientESMID); 

//Converting Row integer to string 
string m_excelRowCoordinateLoanItemTrackerStr = m_excelRowCoordinateLoanItemTracker.ToString(); 

//Creating a connection directory to access the Excel "LoanItemTracker" file 
string m_pathSourceExcelLoanItemTrackerNOHDR = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + textBoxExcelLoanItemTrackerLocation.Text + @";Extended Properties=""Excel 8.0; HDR=NO;ImportMixedTypes=Text;TypeGuessRows=0"""; 
OleDbConnection m_pathConnectionExcelLoanItemTrackerNOHDR = new OleDbConnection(m_pathSourceExcelLoanItemTrackerNOHDR); 

m_pathConnectionExcelLoanItemTrackerNOHDR.Open(); //Open Excel File LoanItemTracker.xlsx to conduct Write/Update process 

string m_scannedItemName2 = "Wireless Stereo Headphone (TAK)  (damaged)"; 

// write the loaned item name into the Excel Spread sheet "LoanItemTracker.xls" 
string m_excelRowColumnLoanItemNameCoord = String.Concat(m_excelColumnCoordinateLoanItemNameLoanItemTracker, m_excelRowCoordinateLoanItemTrackerStr); 
string m_LoanItemNameWriteCommand = String.Format("UPDATE [Sheet1${0}:{0}] SET F1={1}", m_excelRowColumnLoanItemNameCoord, m_scannedItemName2); 
OleDbCommand m_LoanItemTrackerCommandWrite = new OleDbCommand(m_LoanItemNameWriteCommand, m_pathConnectionExcelLoanItemTrackerNOHDR); 

m_LoanItemTrackerCommandWrite.ExecuteNonQuery(); 

m_pathConnectionExcelLoanItemTrackerNOHDR.Close(); 

답변

1

당신은 텍스트 주위에 따옴표를 추가해야한다

String.Format("UPDATE [Sheet1${0}:{0}] SET F1='{1}'", m_excelRowColumnLoanItemNameCoord, m_scannedItemName2); 

는 내가 전에 그들을 넣어 {1} 후. 또한 매개 변수가있는 쿼리를 사용하는 것이 좋습니다. 당신도 따옴표가 필요하지 않습니다.

0

확인 : UPDATE [Sheet1${0}:{0}] SET F1='{1}' 아마도 당신은 따옴표를 잊어 버렸을 것입니다.

관련 문제