У меня проблема с обновлением базы данных с помощью формы 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();
}
В идеале должен выполняться запрос на обновление, позволяющий мне обновить эту конкретную запись базы данных.
Спасибо большое, ребята!