日期:2014-05-18  浏览次数:20586 次

请问下这样的两个表怎样设计?(不能给200分求之)
定时采集信息..
包含两个表(一个保存所有时间采集的信息,一个保存最后一次采集信息)
第一个(插入实现)//已处理
第二个(更新实现)//就求这个.
  问题的关键就在于,我是循环采集多个地点.插入好操作.更新就请问大家如何来实现和设计这个表.

这就是数据源:
foreach(Match       m       in       ms)      
{      
dr   =   dt.NewRow();  
dr[ "收购商名称 "]   =   PName;
dr[ "服务器类型 "]   =   Type;
dr[ "服务器名称 "]   =   m.Groups[ "type "].Value.Trim();
dr[ "玩家类型 "]   =   m.Groups[ "area "].Value.Trim();
dr[ "价格 "]   =   m.Groups[ "price "].Value.Trim();
dr[ "数量 "]   =   m.Groups[ "num "].Value.Trim();
dr[ "信息采集地址 "]   =   Address;
dr[ "收购状态 "]   =   m.Groups[ "state "].Value.Trim();
dr[ "信息采集时间 "]   =   t.ToString();
dt.Rows.Add(dr);

}

DbManagerSQL.InsertTable(dt);

用其他的如XML实现也可,请大家给个思路..谢谢.

------解决方案--------------------
表1保存所有时间采集的信息,
表2保存最后一次采集信息
在表2做触发器,维护表1的记录。
------解决方案--------------------
表1保存所有时间采集的信息,
表2保存最后一次采集信息

-----------------------------------

用事务处理。

如:


--设置事务失败时,整体回滚。
set xact_abort on

begin tran

insert into 表1 (字段列表) values(...)

--如果没有外键约束,就用truncate table,否则用delete 表2
truncate table 表2

insert into 表2 (字段列表) values(...)

commit tran
------解决方案--------------------
可否把每次foreach(Match m in ms)的数据写如一文本文件txt或者XML在同一文件架下面
等待整个for(i=0;i <j;i++)结束后.
循环读取这些TXT或者XML到临时表temp然后更新到表二,删除temp数据.