我一直在浏览各种网站和代码,但似乎没有什么能结束我的痛苦。它们要么帮助查找和删除特定列的重复项,要么仅从数据表中删除,而不是从底层数据库本身中删除。我想从我的 mdb 文件的表“table1”中删除重复的行。
为了使我的要求更清楚:
- 表中的任何列都没有设置主键(我负担不起)
- 我想删除所有重复的行,但一个!(顺序没有意义)
- 我更喜欢从数据库中删除重复项,而不是在更新数据库本身之前首先检查是否存在这样的行(如果这是最后的手段,那是不受欢迎的)
重复行是指不明显的行。例如,在以下示例中,只有第 3 行和第 5 行是重复的。我想删除其中的任何一个。
Name1 Name2 Name3 tom dick harry tom dick mike ann sara mike sara ann mike ann sara mike
应通过单击按钮从数据库中删除重复的行,如下所示
private void button1_Click(object sender, EventArgs e)
{
deletedupes();
}
private void deletedupes()
{
OleDbConnection con = new OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0; Data Source=C:\\hi.mdb");
DataSet ds = new DataSet();
OleDbDataAdapter da = new OleDbDataAdapter("select * from table1", con);
con.Open();
da.Fill(ds, "table1");
// what could be rest of the code??
}
提前致谢。是的,我是新手。。