Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме 85 тыс рублей в месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.03.2019, 19:08   #1
AntonCH
Пользователь
 
Регистрация: 28.11.2017
Сообщений: 58
По умолчанию OleDb Update текстовый файл

использую текстовый файл в качестве таблицы бд. Выборка и добавление проходят нормально, а вот изменения данных выбрасывает ошибку OleDbException. Реально ли вообще использовать Update команду с текстовым файлом?
Код:
  using (OleDbConnection StrCon = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\DB;Extended Properties=text"))
            {
                //Строка для выборки данных
                string Select1 = "INSERT INTO [Reserved.txt] Values('" + name + "','" + code + "'," + count + ",'" + contact + "')";
                StrCon.Open();
                //Создание объекта Command
                OleDbCommand command = new OleDbCommand(Select1, StrCon);
                OleDbTransaction transaction = StrCon.BeginTransaction();
                try
                {
                    command.Transaction = transaction;
                    if (command.ExecuteNonQuery() == 1)
                    {
                        string Update1 = "UPDATE [Products.txt] SET Count = Count - " + count + " WHERE Code = '" + code + "'";
                        command = new OleDbCommand(Update1, StrCon);
                        command.Transaction = transaction;
                        if (command.ExecuteNonQuery() == 1)
                        {
                            transaction.Commit();
                            return "Reserve added and products updated";
                        }
                        transaction.Rollback();
                        return "Error update Products";
                    }
                    else
                    {
                        transaction.Rollback();
                        return "Error added Reserve";
                    }
                }
                catch (Exception e)
                {
                    transaction.Rollback();
                    return e.Message;
                }
            }
AntonCH вне форума Ответить с цитированием