나는 액세스 데이터베이스로 만든 oledbdataadapter로 채워진 데이터 테이블에 대한 작업을하고있었습니다.자동 번호 및 dbnull 예외가있는 데이터 테이블
내 표는이 구조를 가지고 있음을 밝혀 : 그리고 난이 오류가 우연히 ID - 텍스트>> 일련 번호 (PK)
lazos_을
Asociaciones-> 텍스트
때 내 모든 datatable 채우기 모든 값을 모든 올바른 값으로 문제없이 전달합니다. "행 삽입"부분에 표시된 것과 같은 새 행을 삽입합니다.
내 pk가 행 생성시 "autonumber"를 시작한다는 것을 알았지 만 실제로 행을 순환시킬 때 "잘못된 캐스트 예외"가 발생하여 객체를 캐스팅 할 수 없기 때문에 분명히하지 않습니다. 다른 유형의 DBNull "
열에 id 값을 삽입해야하지만 데이터베이스에 내 dt를 업데이트 할 때 오류가 발생합니다. 마지막으로 작성된 행을 알 수 없기 때문입니다. 또는 어떻게합니까?
예를 들어, 내 IDT를 기반으로 51을 삽입 한 경우 이전에 ID가 "51"인 레코드를 만든 데이터베이스 y에서 마지막 데이터 ID가 50인데, 그것은 바로 오류를 줄 것인가?
//// INSERT ROW
DataRow newRow = Tabla_Cods_Proy.NewRow();
newRow["Lazos"] = textBox1.Text ;
newRow["Asociaciones"] = textBox2.Text;
Tabla_Cods_Proy.Rows.Add(newRow);
MessageBox.Show("Enhorabuena!");
//CHECK ID's
for (int i = 0; i < Tabla_Cods_Proy.Rows.Count; i++)
{
if (Tabla_Cods_Proy.Rows[i].RowState != DataRowState.Deleted)
{
if (Tabla_Cods_Proy.Rows[i]["Lazos_asociados"].ToString() == "")
{
listBox7.Items.Add(Tabla_Cods_Proy.Rows[i]["Cod_Cliente"]);
listBox8.Items.Add(Tabla_Cods_Proy.Rows[i]["Cod_Inelectra"]);
ID_Cods_Proy_Sin_Asociar.Add(Convert.ToInt32(Tabla_Cods_Proy.Rows[i]["ID"]));
}
else
{
listBox3.Items.Add(Tabla_Cods_Proy.Rows[i]["Cod_Cliente"]);
listBox4.Items.Add(Tabla_Cods_Proy.Rows[i]["Cod_Inelectra"]);
ID_Cods_Proy_Asociados.Add(Convert.ToInt32(Tabla_Cods_Proy.Rows[i]["ID"]));
}
}
감사의 사람이이 일을! – Joaquin
@ Joaquin : 기꺼이 도와 드리겠습니다. 답으로 표시하십시오.) – Janez