Конференция "Начинающим" » Сохранение и открытие базы данных [D7, XP]
 
  • Retilok (15.05.18 10:02) [0]
    У меня есть база данных в microsoft access и программа с DBGridd и ADO. Я могу в ней редактировать(добалять поля, писать в них, удалять). Мне нужна помощь. Как сохранить в отдельный файл то что я наредактировал и как его потом открыть?
  • Raisa © (15.05.18 10:22) [1]
    Не понятно, что значит "в отдельный файл".
    Можете до начала редактирования программно создать копию Вашей базы (чтобы всегда была не измененная база).
    Если в программе предусмотрено сохранение изменений (значений и структуры), то Ваша база и будет сохранена.
    Если у Вас есть исходный текст программы, то в зависимости от потребностей подставляйте нужное имя базы.
  • Retilok (15.05.18 10:40) [2]
    Программа сохраняет изменения в базу которая используется, но надо что бы я мог сохранить в отдельный файл ( тоесть через savedialod я указываю путь куда она будет сохранена)
  • Raisa © (15.05.18 11:07) [3]
    Если надо сохранить базу до начала изменений, то сделайте копию программно (например, через copyfile).
    База банных имеет расширение mdb или accdb?
  • Retilok (15.05.18 11:22) [4]
    Нет, базу нудно сохранить после изменений. Расширение mbd.
  • Retilok (15.05.18 11:25) [5]
    Тоесть как вообще должно все выглядеть. Включаешь программу. Открываешь базу. Работаешь с ней. Потом сохраняешь ее куда-нибудь в расширении mbd.
  • Raisa © (15.05.18 11:54) [6]
    Именно mbd расширение?
    В Access нет такого. Есть mdb, например.
  • Retilok (15.05.18 12:01) [7]
    Ну, да mdb, ошибся. Кстати только что разобрался с открытием базы. Осталось только сохранение.
  • Retilok (15.05.18 12:09) [8]
    Как я открываю базу ( вдруг пригодится)
    ADOConnection1.close; //делфи не хочет подлючаться к другой таблице пока включена старая
    If opendialog1.Execute then
    ADOConnection1.ConnectionString:= 'Data Source=' + opendialog1.FileName; //указываем путь к базе которую хотим открыть
    ADOConnection1.Open; // запускаем подключение
    ADOTable1.Active:=true; //после отключения ADOConnection таблицы отключаются автоматически. Нужно их включить.

    Как то так
  • Raisa © (15.05.18 12:21) [9]
    Что не получается с сохранением? Приведите исходный текст и текст ошибки.
  • ку ку (15.05.18 14:17) [10]
    ADOConnection1.close;старая
    If opendialog1.Execute then
    begin
    ADOConnection1.ConnectionString:= 'Data Source=' + opendialog1.FileName;
    ADOConnection1.Open;
    ADOTable1.Active:=true;
    //editing current database .....

    if SaveDialog.Execute then
     begin
      ADOConnection1.Close;
      CopyFile(opendialog1.FileName, savedialog1.fileName);
     end;

    end;
  • Styx © (15.05.18 22:43) [11]

    > Нет, базу нудно сохранить после изменений.

    Так нельзя. Изменения вносятся в файл сразу же. Если нужно, чтоб для пользователя это выглядело так, как Вы описали - копируйте при открытии выбранный пользователем файл во временный, с ним работайте, а при сохранении - давайте ему заданное пользователем имя.
 
Конференция "Начинающим" » Сохранение и открытие базы данных [D7, XP]
Есть новые Нет новых   [134427   +34][b:0][p:0.001]