问题是这样的:
winform程序private void button1_Click(object sender, EventArgs e)
        {
            OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\ffff.mdb;Persist Security Info=True");
            string selstr = "insert into ftable(tt) values('88')";
            OleDbCommand comm = new OleDbCommand(selstr, conn);
            conn.Open();
            int i = comm.ExecuteNonQuery();
            conn.Close();
        }表ftable只有tt一个,且是主键
第一次点击按钮 正常运行,且i值是1;第二次点击按钮就会出现主键重复异常
不论是第一次点击按钮后打开ftable,还是第二次点击按钮后打开ftable,都没有新记录
不是看错数据库了,因为再次运行程序仍然重复第一次点击按钮 正常运行,且i值是1;第二次点击按钮就会出现主键重复异常;用的是xp系统,vs2005,access2003.

解决方案 »

  1.   

    你直接用sql语句在access中执行是否成功
      

  2.   

    sql直接在access中执行正常
    另,我把数据库copy到d盘下,连接串改为"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\ffff.mdb;Persist Security Info=True
    则能正常插入,数据库表里也有新插入的记录,这是怎么回事呢?
      

  3.   

    http://blog.csdn.net/gisfarmer
      

  4.   

    问题解决了 很可笑 搞了我2个通宵,现在说下,祈求别再有人犯同样的错误了
    我的数据库是直接粘贴在vs2005环境中的解决方案中的,编译时在解决方案文件夹下的bin\debug目录下又生成了一个同样的数据库,每次都是对这个数据库的操作,而我打开的是解决方案下的数据库。