Excel 시트의 단일 셀을 업데이트하려고합니다. 아래 예제 코드에서는 컬럼과 행에 변수를 사용하고 있는데, 이는 프로그램의 다른 부분에 따라 달라지기 때문에 디버깅 목적으로 각각 A와 1로 설정했기 때문입니다.OleDb를 사용하여 Excel 시트 업데이트
는 지금은 구문 오류 (누락 된 연산자) 쿼리 식 06 "라는 오류 얻고있다 :. '31 일 오후
단순히 내가이 내 문제가 해결되지 않습니다 알고 있기 때문에 나는 매개 변수화 제안하지 마십시오 나는 주입에 대해 걱정하고 있지 않다
감사를 사전 모두에
string newColumn = "A";
string newRow = "1";
string worksheet2 = strMonth;
var cnnStr2 = String.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=\"Excel 8.0;IMEX=1;HDR=NO\"", textBox1.Text);
var cnn2 = new OleDbConnection(cnnStr2);
cnn2.Open();
string sql2 = String.Format("UPDATE [{0}$] SET {1}{2}={3}", worksheet2, newColumn, newRow, dtpTime.Text.Substring(0, 8));
OleDbCommand objCmdSelect = new OleDbCommand(sql2, cnn2);
objCmdSelect.ExecuteNonQuery();
cnn2.Close();
편집 :..
: 게르하르트 제안 링크를 바탕으로, 나는 다음에 내 명령 텍스트를 변경string sql2 = String.Format("UPDATE [{0}${1}{2}:{1}{2}] SET F1='{3}'", worksheet2, newColumn, newRow, dtpTime.Text.Substring(0, 8));
이제 "작업에서 업데이트 할 수있는 쿼리를 사용해야합니다."라는 오류가 발생합니다. 이제 어떻게 해야할지 잘 모릅니다. {1} {2}은 (는) 시트 {0} $의 단일 셀 범위를 제공하고, 연결 문자열에 HDR로 지정한 열 이름이없는 경우 F1 = 기본 열 이름입니다. 아니. 마지막으로 {3}은 셀을 업데이트하는 부분 문자열이며 모든 사람이하는 것처럼 단순한 인용 부호로 묶여 있습니다. 작은 따옴표를 제거하면 다른 오류가 발생합니다.
예. 그런 다음 오류가 "하나 이상의 필수 매개 변수에 지정된 값이 없습니다."로 변경됩니다. –
아마도 도움이 될 것입니다. http://forums.asp.net/t/1214491.aspx/1 –
또는 여기 (자습서) : http://yoursandmyideas.wordpress.com/2011/02/05/how-to- 읽기/쓰기 엑셀 파일 사용 에이스 데이터 제공자/ –