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);
各フィールドを比較しますか? このパフォーマンスは良いですか? –
Linq-SQLまたはEDMがCore ADO.NETではなくサイトで使用されている場合は、簡単に値を比較できます。 – adatapost
私は 'informix database'を使います。 私の質問を編集し、いくつかのコードを書いています。簡単な例をお願いします。 –