안녕하세요!
ASP.NET 2.0버전으로 웹 페이지를 개발 중인데요
제가 DataSet 정보를 XML 파일로 변환하고 XML 파일을 DataSet정보로 변환하는 작업을 합니다.
DataSet에 정보를 등록하면 바로 그리드뷰를 통해 화면에 보여줍니다.
정보를 등록한 후, 3분정도 경과 후 삭제를 하면 한 건씩만 삭제 됩니다.
로직은 전체 삭제로 구현했는데 왜 한 건씩만 삭제되지는 잘 모르겠네요??
에러 메시지는 "테이블에 없는 행에서는 이 작업을 수행할 수 없습니다."라는 메시지가 발생합니다.
분명이 값이 있는데 없다는 메시지가 나오고,
분명이 값을 모두 삭제했는데 삭제된 정보가 화면에 보여주는 경우도 발생합니다.
웹 페이지에서 XML 파일은 원래 이런 현상이 발생하나요?
처음 사용해 봐서 이런 경우는 당황스럽네요!
빠른 답변 부탁드립니다. 제 질문이 좀 나해하시다면...
혹시 웹페이지에서 DataSet 정보를 Xml 파일로 변환하는 소스코드 좀 알려 주세요!
스키마를 사용해서 구현하는 방법을 알려 주시면 감사하겠습니다.
답변 부탁드립니다.
아래 소스 부분을 보시고 잘못된 점 지적해 주세요!
DataSet ds = new DataSet("IpGoSets");
DataTable dt = new DataTable("IpGoSet");
dt.Columns.Add("Stl_Gangj_Cd");
dt.Columns.Add("Stl_Len");
dt.Columns.Add("Jibun_Stl");
DataRow dr = dt.NewRow();
dr["Stl_Gangj_Cd"] = "TB";
dr["Stl_Len"] = "00.00";
dr["Jibun_Stl"] = "C00";
dt.Rows.Add(dr);
ds.Tables.Add(dt);
XmlManager.WriteXml(ds, XmlManager.Xml_Path() + vsXmlFile);
//tbmanager.DeleteRow(table); ---> 삭제 부분입니다.
public void DeleteRow(DataSet inTable, string inWhere)
{
DataRow[] rows;
if (inWhere != null)
{
rows = inTable.Tables[0].Select(inWhere);
}
else
{
rows = inTable.Tables[0].Select();
}
foreach (DataRow dr in rows)
{
try
{
dr.BeginEdit();
dr.Delete();
dr.AcceptChanges();
}
catch (Exception ex)
{
dr.RejectChanges();
throw (ex);
}
}
}