변경하려고하는 레거시 응용 프로그램과 함께 SQL CE에 대해 작업 할 수 있도록 작업하고 있지만 원래 SQL Server에 대해 작성되었습니다..NET 자동 생성 테이블 어댑터 명령의 기능은 무엇입니까? 예 : UPDATE/INSERT 다음에 SELECT가 표시됨
내가 지금 받고있는 문제는 dataAdapter.Update를 시도 할 때 SQL CE가 명령 텍스트에서 SELECT 키워드를 기대하지 않는다는 것입니다. 나는 SQL CE가 배치 SELECT 문을 지원하지 않기 때문이라고 생각한다. 그것이 무엇을하고
this._adapter.InsertCommand.CommandText = @"INSERT INTO [Table] ([Field1], [Field2]) VALUES (@Value1, @Value2);
SELECT Field1, Field2 FROM Table WHERE (Field1 = @Value1)";
자동으로 생성 된 테이블 어댑터 명령은 다음과 같습니다 ...? 데이터 테이블의 새 레코드를 데이터베이스에 삽입 한 다음 해당 레코드를 데이터베이스에서 다시 데이터 테이블로 읽어 오는 것 같습니다. 그게 무슨 말이야?
코드를 살펴보고 이러한 SELECT 문을 모두 제거 할 수 있습니까? 아니면 SQL CE에서 이러한 데이터 어댑터를 사용하려는 내 문제를 해결하는 더 쉬운 방법이 있습니까?
오랫동안 사용법을 알고있는 사람들처럼이 테이블 어댑터를 다시 생성 할 수 없습니다.
자동 증가/ID/rowguid 필드를 다시 가져 오는 것이 맞지만 여기서는 조금 불필요한 것으로 보입니다. +1 나를 때리는. – Lazarus
@Lazarus, 음, 나는 동의한다. 나는 항상 그것이 너무 과잉이라고 생각했다. 나는 또한 동시성 검사 (내가 결코 좋아하지 않은)를 위해 그것이 DB에있는 현재라고 믿는 필드를 설정하는 데에도 사용되었다고 생각한다. – Paddy
아 ... 그거 재미 있어요. 명령 텍스트에서 SELECT를 제거하려고 시도했지만 동시성 위반 예외가 발생했습니다. 그 오류를 피하기 위해 SELECT가 필요하다고 생각합니까 아니면 다른 것이 될 수 있습니까? – RickL