Мне нужно удалить дубликаты данных из базы данных Программируемость в MS Access - PullRequest
0 голосов
/ 24 марта 2011

У меня есть база данных с табличной безопасностью и двумя полями: имя пользователя и пароль, которые содержат несколько повторяющихся данных, которые я хочу удалить. Повторяю в C # .net, какой оператор SQL я бы использовал. Повторяющиеся имя пользователя и пароль появляются во время обновления. файла базы данных из другого файла. Или как скопировать только те записи, которые не существуют в базовом файле данных. Мне нужно сделать это в CSharp.net здесь часть кода, где я хочу сделать удаление данных. ПОЖАЛУЙСТА, ПОМОГИТЕ

        private void ReadUFbtn_Click(object sender, EventArgs e)
        {    //new data in desktop so it comes as Source so main becomes as backup
            // backup is main so here is mail pis in opened 
            string targetPath = @"C:\Users\User\Desktop\Prashant\";
            string constr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\\PIS.mdb;Jet OLEDB:Database Password=Prashant;";
            Con = new OleDbConnection(@constr);
            Con.Open();
            Com = new OleDbCommand();
            Com.Connection = Con;

              try
              {
                  if (!System.IO.Directory.Exists(targetPath))
                  {
                      DialogResult X = MessageBox.Show("The Direcory / 5File Dose not exits", "PIS System");
                  }
                  else
                  {   
                      //backup open           
                      if (Con.State == ConnectionState.Closed)
                          Con.Open();
                          //target //main //backup              //source from data //desktop
                          //backup                                           // main data 
                      string selQuery = "INSERT INTO Security SELECT DISTINCT * FROM [MS Access;DATABASE=c:\\Users\\User\\Desktop\\Prashant\\PIS.mdb;PWD=Prashant;].[Security]";

                          Com.CommandText = selQuery;
                          Com.CommandType = CommandType.Text;
                          Com.Connection = Con;

                          MessageBox.Show("File Updated");
                          Com.CommandText = "SELECT DISTINCT * FROM Security  ";

                          int result = Com.ExecuteNonQuery();

                   }                     
                }
                catch(Exception ex) 
                    {
                        MessageBox.Show(ex.Message);
                    }
           }
    }
}

1 Ответ

0 голосов
/ 24 марта 2011

Выполнение чего-то подобного должно удалить дубликаты записей в MS-Access

delete from Security 
where id not in
(select min(id) from Security T2
 where T2.username=Security.username and T2.password=Security.password)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...