I는 표 B. 표 B에 나타난 A로부터 데이터를 복사하고 '는 I 값을 설정할 일반적으로 0 의 기본 제약 값을 갖는 널 열이 다음 접근자를 사용하는 열의 수입니다.ADO.NET CommandBuilder가,에 InsertCommand 및 기본 제약
public object this[string columnName]
{
get { return DataTable.Rows[CurrentRow][columnName]; }
set { DataTable.Rows[CurrentRow][columnName] = value; }
}
하지만 이이
나는 전체 행을 삽입 내 널 (NULL) 열 X.
을 설정하지 마십시오는 기본값이 사용되지 않습니다. 0 대신 NULL 입력 가능 열에 NULL이 삽입되었습니다._sqlCommandBuilder = new SqlCommandBuilder(_sqlDataAdapter);
_sqlCommandBuilder.ConflictOption = ConflictOption.OverwriteChanges;
_sqlCommandBuilder.SetAllValues = false;
_sqlDataAdapter.Update(DataTable);
나는 또한 스키마를 얻을 :
_sqlDataAdapter.Fill(DataTable);
_sqlDataAdapter.FillSchema(_dataTable, SchemaType.Mapped);
내가 그것을 설정하지 않았더라도 왜 ADO.NET 설정 NULL 내 열 X에 대한인가?
필자는 열 X의 값을 설정하지 않으면 ADO.NET이 주어진 제약 조건에서 기본값을 가져 오는 것으로 생각했습니다.
ADO.NET CommandBuilder는 기본 제약 조건을 사용할 수 있습니까?
나는 수동으로 진술을 작성, 삭제, 생성하고 싶지 않다. 나는 너를 올바르게 이해하기를 바란다. 그렇지 않다면 알려주세요 :) – Rookian
테이블에 행을 추가 할 때 설정 한 열만이 insert 문에 포함되어 기본값을 올바르게 표시 할 수 있다고 생각할 것입니다. 이것은 ADODB에서 작동했습니다. ADO.NET이이 기능을 잃어 버렸습니다. – Brain2000