Как исправить ошибку «Не удалось найти устанавливаемый ISAM» - PullRequest
0 голосов
/ 23 апреля 2019

У меня проблема с обновлением базы данных с помощью формы C #. У меня есть база данных Access (содержащая информацию о сотрудниках), связанная с моим проектом, и я бы хотел, чтобы пользователь мог обновлять свою конкретную информацию. У меня есть его, где он будет запускать запрос на обновление всякий раз, когда пользователь вводит другой параметр в текстовое поле. К сожалению, всякий раз, когда я пытаюсь запустить его, я получаю следующую ошибку: «Не удалось найти устанавливаемый ISAM».

База данных Access является файлом .accdb и не защищена паролем. Я попытался переустановить драйвер Microsoft Access 2010 Distribute, и я даже преобразовал копию базы данных в .mdb. Я также попытался изменить целевую машину с любого процессора на x86 и x64. Самое близкое, что я получил, это то, что любой метод запускал программу на x64 с базой данных .mdb, хотя даже это возвращает еще одну ошибку: «Поставщик« Microsoft.Jet.OLEDB.4.0 »не зарегистрирован на локальном компьютере». Кроме того, я бы предпочел сохранить файл .accdb в любом случае.

OleDbConnection sql = new OleDbConnection();
sql.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Users\[Path].accdb; Persist Secuity Info=False";
OleDbCommand cmd = new OleDbCommand();

        try
        {
            if (textBox5.Text != "" | textBox5.Text != Form1.username)
            {
                    sql.Open();
                    cmd.Connection = sql;
                    cmd.CommandText="UPDATE Staff SET Username = @username WHERE ID = " + textBox1.Text;
                    cmd.Parameters.AddWithValue("@username", textBox5.Text);
                cmd.ExecuteNonQuery();
                sql.Close();
            }

В идеале должен выполняться запрос на обновление, позволяющий мне обновить эту конкретную запись базы данных.

Спасибо большое, ребята!

...