테이블의 행을 업데이트하려고하는 간단한 SQL Server CE 데이터베이스가 있습니다.SQL Server CE Where 절 문제
UPDATE ConsoleUsage
SET TotalCircuits = 123
을하지만, 위의 명령 업데이트 모든 행, 그래서 내가 원하는 것은 이것이다 : 다음 명령은 작동
UPDATE ConsoleUsage
SET TotalCircuits = 123
WHERE Index = 912
목적은 테이블의 단일 행을 업데이트하는 것입니다.
오류 코드 : 80040E37
메시지 : [UPDATE ConsoleUsage SET TotalCircuits = 123 색인 = 912]
사소한 잘못하지만이 명령은 다음과 같은 암호 같은 오류 메시지 (여기에 MS는 형식을 제안 사용)를 제공, 실패합니다. : 0
출처 : SQL Server 2005 Mobile Edition ADO.NET 데이터 공급자
오류. 평가. : 색인 = 912
은 "인덱스"열이 테이블에 인덱스입니다 UPDATE ConsoleUsage SET TotalCircuits = 123, 나는 모든 철자를 확인했지만 내가 함께하고 cmd.CommandType = CommandType을하지 않고 모두이 시도했습니다 . TableDirect; 및 cmd.IndexName = "MainIndex";
무엇이 누락 되었습니까?
업데이트 :. WHERE 절에 다른 필드를 사용하여 시도,이 일했다. 그래서 내 "Index"칼럼의 이름이나 타입에 문제가 있습니다. 그것은 "Primary Key"입니다 (그러나 중요할까요?), smallint를 입력하십시오. – toml
"Index"라는 이름을 다른 것으로 변경하고 (예 : "Id") 시도하십시오. 작동합니까? – Sasha
DateCode라는 새 열을 Index와 동일한 데이터로 추가했으나 기본 키가 아닌 이제는 작동합니다. 나는 모든 테이블 (나는 생각한다)이 프라이 머리 키를 가져야하므로 인덱스를 그 자리에 남겨 둘 것이다. 낭비되는 공간에 대해 걱정하지 않고,이 테이블에는 많은 행이 없습니다. – toml