0
강력한 형식의 데이터 집합 행을 보유하는 속성이 있습니다. 데이터 세트에 삽입 및 업데이트 절차를 추가했습니다. 어댑터가 이미 존재하는 행을 전달하면 정보가 성공적으로 업데이트됩니다. 그러나 새 행을 만들면 데이터베이스 테이블에 삽입되지 않습니다. 예외는 전혀 throw되지 않고 리턴 된 int는 항상 0입니다. 새로운 행은 추가되지 않습니다.강력한 형식의 데이터 집합 어댑터 업데이트는 새 행을 삽입하지 않습니다.
private MyDataset.MyDatasetGetDataRow _row;
private MyDataset.MyDatasetGetDataRow Rowa
{
get { return _row; }
set { _row = value; }
}
public void NewOne()
{
MyDatasetTableAdapters.MyDatasetGetDataTableAdapter adapter = new MyDatasetTableAdapters.MyDatasetGetDataTableAdapter();
MyDataset.MyDatasetGetDataDataTable tbl = adapter.GetData(0, 0);
MyDataset.MyDatasetGetDataRow row = tbl.NewMyDatasetGetDataRow();
Rowa = row;
}
public int Save()
{
try
{
int a = -99;
using (MyDatasetTableAdapters.MyDatasetGetDataTableAdapter adapter = new MyDatasetTableAdapters.MyDatasetGetDataTableAdapter())
{
a = adapter.Update(tbl);
}
return a;
}
catch (Exception ex)
{
throw new Exception("Error: It didn't save. (" + ex.Message + ")");
}
}
새 기능은 작동하지 않습니다. 어댑터가 작동하려면 텍스트 SQL 문이 필요합니다. 코드에 SQL이 없으므로 Rowa/행은 항상 비어 있습니다. 따라서 읽기가 작동하지 않아서 데이터를 작성했는지 알기가 어렵습니다. – jdweng
어댑터에는 데이터베이스 및 저장 프로 시저에 대한 연결을 통해 선택, 업데이트 및 삽입 SQL 문이 연결되어 있습니다. 기존 행에 대한 업데이트를 언급했지만 새로운 행은 삽입되지 않습니다. Rowa는 데이터를 가지고 있으며 존재하고 null이 아니며 업데이트도 오류가 아니며 단지 0을 반환합니다. –
무엇이 ??? 게시하지 않은 다른 메서드에서 C# 코드를 사용하지 않으면 연결에서 SQL 문이 만들어지지 않습니다. – jdweng