Я просматривал различные сайты и коды, но, похоже, ничто не положило конец моим страданиям. Либо они помогают найти и удалить дубликаты для определенного столбца, либо удаляют только из таблицы данных, а не из самой базовой базы данных. Я хочу удалить повторяющиеся строки из таблицы «table1» моего файла mdb.
Чтобы сделать мои требования более понятными:
- для любого столбца в таблице нет первичного ключа (и я не могу себе этого позволить)
- Я хочу удалить все повторяющиеся строки, кроме одной! (порядок значения не имеет)
- Я предпочитаю удалять дубликаты из базы данных больше, чем сначала проверять, существует ли такая строка или нет, перед обновлением самой базы данных (если это последнее средство, чего не может быть, то это приветствуется)
под повторяющимися строками я подразумеваю строки, которые не отличаются друг от друга. например, в следующем примере повторяются только 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??
}
Заранее спасибо. Да я новичек..