water 表custom_id status user_id f_205 cur_flow
int int int varchar int
note 表file_id course_name maker status flow_id x y
其中 custom_id对应 file_id user_id对应 maker f_205对应 course_name
cur_flow 对应 flow_id
先判断water表中的记录,在note中有没有相同的记录(根据water表中的custom_id与note表中的file_id俩个字段判断)。如果没有,就将water表中的新记录插入到note表中。
如果有的话就将water表中的该条记录的值更新到note表中去.
int int int varchar int
note 表file_id course_name maker status flow_id x y
其中 custom_id对应 file_id user_id对应 maker f_205对应 course_name
cur_flow 对应 flow_id
先判断water表中的记录,在note中有没有相同的记录(根据water表中的custom_id与note表中的file_id俩个字段判断)。如果没有,就将water表中的新记录插入到note表中。
如果有的话就将water表中的该条记录的值更新到note表中去.
解决方案 »
- Repeater调用lable实现行的修改
- 获取域名ip
- repeater控件
- GridView由“普通查看模式”变为“编辑模式”是怎么实现的?
- 供应商选择输入
- 元素"tr"不能嵌套在元素"table"中
- 关于.Net打开项目的问题
- 各位,如何直接将 sql 数据库内的 images数据 读出显示在页面上,不引用inamge控件等中间件啊????
- 一个关于HTML与XML格式互换的问题,请各位老大HELP!!!!
- 新手学ASP,我已安装了.NET Framework Redistributable,在开始里怎么找不到快捷方式?
- 请问该如何在首页引用两个cs类啊?
- 关于ASP.NET返回上一页的问题!
declare @user_id varchar(255)
declare @status varchar(255)
declare @cur_flow varchar(255)if not exists select 1 from note where file_id = @custom_id
begin
select @f_205=f_205,@user_id=user_id,@status=status,@cur_flow=cur_flow where file_id = @custom_id
insert into note (file_id, course_name,maker, status,flow_id) values (@custom_id, @f_205,@user_id,@status,@cur_flow)
end以上sql语句可以封装为一个存储过程,只需要传入要添加的的记录id(custom_id)即可自动判断并插入。当然如果需要一次性全部更新,可以使用游标来完成。
SqlCommand cmd = new Sqlcommand(sql, conn);
cmd.Parameters.Add("@custom_id", id);//这里id是指定的一个记录id
conn.open();
cmd.exenonequery();
conn.close();下面是循环的方法:
SqlCommand cmd = new Sqlcommand(sql, conn);
cmd.Parameters.Add("@custom_id", 0);
conn.open();
foreach(DataRow dr in 记录id的表的行集合)
{
cmd.Parameters[0]=dr["id"];
cmd.exenonequery();
}
conn.close();