用Microsoft Visual Studio .NET 2003设计出问题 
    如果对ACCESS数据库执行插入操作,操作的对象不是主键(主键是自动编码)时,运行程序时,可以执行,但数据库里显示两条一模一样的数据,除了自动编码的主键不一样外.     如果把主键改成所要插入的数据,数据库里没有了重复的数据(虽然发生异常,但数据库里确实有了刚刚插入的一条记录).但运行发生异常    异常详细信息: System.Data.OleDb.OleDbException: 由于将在索引、 主关键字、或关系中创建重复的值,请求对表的改变没有成功。 改变该字段中的或包含重复数据的字段中的数据,删除索引或重新定义索引以允许重复的值并再试一次。     如果把用Microsoft Visual Studio .NET 2003设计的代码复制到记事本上.用<script language="C#" runat="server">....程序代码....</script>  <html>.........</html> 对数据库只进行一次插入操作,也不发生任何异常,程序运行完全正常. 大侠们,如何解决用VS.NET发生的错误啊? 
[size=4] 附件[/size]

解决方案 »

  1.   

    我插一条数据会显示两条数据的啊!(如果插入的几个数据不是主键的话,就是说把主键改成数据库里的id,id是自动编码的)
    插入的数据的用户是主键的话,会显示异常....
    异常详细信息: System.Data.OleDb.OleDbException: 由于将在索引、 主关键字、或关系中创建重复的值,请求对表的改变没有成功。 改变该字段中的或包含重复数据的字段中的数据,删除索引或重新定义索引以允许重复的值并再试一次。如果把用Microsoft Visual Studio .NET 2003设计的代码复制到记事本上.用<script language="C#" runat="server">....程序代码....</script>  <html>.........</html> 对数据库只进行一次插入操作,也不发生任何异常,程序运行完全正常. 
      

  2.   

    你把数据库里的主键改成id,自动编码的那个
    然后运行index.aspx 执行提交页面后,就会有两条一样的数据