我正在编写一个C#应用程序来从网站上抓取数据,然后用它来更新数据库表。将程序生成的数据与存储在数据库中的数据进行比较的最佳方法?
我刮的数据与数据库中的10行有关。如果数据实际发生了变化,我们只想插入数据。我已经编写了SQL procs来进行更改,但我不确定如何实现第一阶段 - 检查程序生成的数据(从网站上抓取)是否与SQL Server中已存储的数据不同。
我目前的做法是在我的程序中使用表示数据的类,填充这些对象的实例字典(在这种情况下将会有10个键值对),填充网站数据,然后抓取SQL表数据,迭代所有10行,再次使用我的类创建另外10个对象,然后使用我在数据类中写入的名为getHash()的函数比较两组字典对象,例如:
websitedict.get(key1).getHash() == dbdict.get(key1).getHash()
?
等
请给我们架构,理想情况下的一些例子(即使它是虚构的)数据。你打算更新现有记录吗?您是否打算将现有记录标记为存档并插入新记录?如果一个键值对改变了,你是想要替换/更新所有的键值对,还是只更改那些键值对?等等等等? – MatBailie
@Dems,我有10个对象 - 每个对象有5个字段。我只想更新数据库中的相应字段,如果从网站抓取生成的相应字段已更改。 – mezamorphic
'请给我们架构,理想情况下举一些例子(即使它是虚构的)数据。“ – MatBailie