当前位置:编程学习 > C#/ASP.NET >>

c# 连接数据库重复写入的问题

各位大大,小弟遇到一个问题,在C#将数据成功写入数据库后,再次运行程序,发现程序又把刚才的数据再次写到数据库中,而这样显然不是很合理,所以,我想向各位大大们咨询下,是不是有办法能够让我在第二次运行程序的时候将之前的直接从第一次运行后的地方开始插入。
具体情况:
    从表1读取数据,写入表2中,使用insert 
写入成功后再次运行程序,导致之前读取的所有数据都再次写了一边。
暂无思路,求大大指点。 --------------------编程问答-------------------- 不太明白,数据库中的数据还能重复么??第2次 执行 应该不能成功的吧? --------------------编程问答-------------------- 设个主键就行了 --------------------编程问答-------------------- 断点调试!! --------------------编程问答-------------------- 数据插入你写在Page_Load里面了吗? --------------------编程问答-------------------- 我猜你是把你的代码写在了load事件里吧?
2个方案,
1:不要把代码写在load事件里
2:在load里面加一些条件判断,比如if(没有插入过)插入else Nothing to do --------------------编程问答-------------------- 你没有定义主键吧?
你也可以在运行之前检查一下要插入的这条记录是否已经插入了(不建议这样做) --------------------编程问答--------------------
引用 1 楼  的回复:
不太明白,数据库中的数据还能重复么??第2次 执行 应该不能成功的吧?

第二次执行的时候是再次将之前读取的数据写入表格中,打个比方,表1中有1W条数据,第一次执行后,表2有1W条数据,但是现在表1数据更新了,变成1.5W条数据,这时候在执行程序,表2中就有了2.5W条程序 --------------------编程问答-------------------- 你的需求好乱,不是很明白。数据库中的数据当然是可以重复的,除非你设置了某一个字段为主键,那以这个字段为参照物,这个字段相同的就不能重复了。程序是顺序执行的,第二次执行当然还是重头开始的。 --------------------编程问答-------------------- 主键是不能重复的?你没有社主键...那么这个是你代码的问题咯..一个先判断数据库中是否存在你需要插入的数据.然后在决定是否插入 --------------------编程问答--------------------
引用 7 楼  的回复:
引用 1 楼  的回复:
不太明白,数据库中的数据还能重复么??第2次 执行 应该不能成功的吧?

第二次执行的时候是再次将之前读取的数据写入表格中,打个比方,表1中有1W条数据,第一次执行后,表2有1W条数据,但是现在表1数据更新了,变成1.5W条数据,这时候在执行程序,表2中就有了2.5W条程序


那你就自己定义个更新策略,比如每条记录后面加个update字段,凡是insert到第2张表的都置为update,下次读取的时候只读没有update字段的数据,插入2表就可以了。 --------------------编程问答-------------------- 设个主键吧,主键是唯一的,然后你在运行的时候先删除,在增加,这样数据就还是唯一的了
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,