1
我讓我的用戶上傳的xml
文件在我的數據庫中插入其內容。
我詢問是否有一些想法知道已更改的屬性,以更新數據庫中的等效字段,而無需再次上傳更新的文件(清除與此文件相關的所有數據並再次插入)。
有沒有一種方式,而不是一種形式。
我的XML剪斷:
<day name="Saturday" short="Sa" day="0"/>
<day name="Sunday" short="Su" day="1"/>
<day name="Monday" short="Mo" day="2"/>
<day name="Tuesday" short="Tu" day="3"/>
<day name="Wednesday" short="We" day="4"/>
<day name="Thursday" short="Th" day="5"/>
我的.cs剪斷:
List<Day> days = new List<Day>();//List of days.
IEnumerable<DayNode> resultDays = ReadDayNodes(targetFileName);
foreach (DayNode name in resultDays)
{
Day day = new Day();
if (!string.IsNullOrEmpty(ddl_batch.SelectedValue))
day.BatchNum = int.Parse(ddl_batch.SelectedValue);
if (!string.IsNullOrEmpty(ddl_department.SelectedValue))
day.DepCode = int.Parse(ddl_department.SelectedValue);
if (!string.IsNullOrEmpty(ddl_study.SelectedValue))
day.StudyCode = int.Parse(ddl_study.SelectedValue);
if (!string.IsNullOrEmpty(name.Day))
day.DayId = name.Day;
day.ShortName = name.Short;
day.Name = name.Name;
days.Add(day);
}
/********************************************************************************************************************/
private struct DayNode
{
public string Name { get; private set; }
public string Short { get; private set; }
public string Day { get; private set; }
public DayNode(string Name, string Short, string Day)
: this()
{
this.Name = Name;
this.Short = Short;
this.Day = Day;
}
}
/********************************************************************************************************************/
private static IEnumerable<DayNode> ReadDayNodes(string filePath)
{
using (FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read))
using (XmlReader xrdr = new XmlTextReader(fs))
while (xrdr.Read())
if (xrdr.NodeType == XmlNodeType.Element && xrdr.LocalName == "day")
yield return new DayNode(xrdr.GetAttribute("name"), xrdr.GetAttribute("short"), xrdr.GetAttribute("day"));
}
/********************************************************************************************************************/
resultDay = CommonUitilities.InsertDays(days);
比較各個領域?!! 這種表現是否明智? – 2011-12-19 08:55:51
當您的站點使用Linq-SQL或EDM代替Core ADO.NET時,您可以輕鬆比較值。 – adatapost 2011-12-19 08:58:28
我使用'informix數據庫'。 我編輯我的問題,並把一些代碼。請你給我簡單的例子。 – 2011-12-19 09:01:36