由于将在索引、 主关键字、或关系中创建重复的值,请求对表的改变没有成功。 改变该字段中的或包含重复数据的字段中的数据,删除索引或重新定义索引以允许重复的值并再试一次。这句报错 int ia = dataAdapter.Update(myDataSet, tableData.Text);
我access数据库里有个id的主键,不重复的啊。

解决方案 »

  1.   


    myConn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data source=" + fpath2.Text);
                //查询
                string strCom = "select " + keyword.Text + " , " + textBox1.Text + " , " + updateText.Text + ", PageUrl from " + tableData.Text;
                myDataSet = new DataSet();
                myConn.Open();
                dataAdapter = new OleDbDataAdapter(strCom, myConn);
                scb = new OleDbCommandBuilder(dataAdapter);            dataAdapter.Fill(myDataSet, tableData.Text);            bs = new BindingSource { DataSource = myDataSet.Tables[0] }; //引用 声明            dataGridView1.DataSource = bs; //dGdata是显示数据的控件 将bs用为数据源赋
                myConn.Close();
    我读取数据库的代码,请问如何修改才能使数据库可以重复值
      

  2.   

    更新就这句了
     int ia = dataAdapter.Update(myDataSet, tableData.Text);
      

  3.   

    加try catch捕获错误
    主键值,索引重复
      

  4.   

    把你的 SQL 语句在程序中输出,而后在查询分析器里执行,看错误在哪里。
      

  5.   

     try
                            {
                                conn.Open();
                                OleDbDataAdapter adapter = new OleDbDataAdapter();
                                cmd.CommandText = str;
                                adapter.InsertCommand = cmd; 
                                cmd.ExecuteNonQuery();
                                conn.Close();
                                 MessageBox.Show("已记录", "谢谢");
                            }
                            catch (Exception ex)
                            {
                               MessageBox.Show("请检查信息是否正确(信息重复)", "提醒");
                            }