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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.07.2013, 15:00   #1
Eugene_Stoun
Пользователь
 
Аватар для Eugene_Stoun
 
Регистрация: 14.06.2013
Сообщений: 56
Восклицание Добавление_записи_в таблицу

Всех приветствую, извиняюсь елси данная тема у же обсуждалось Но тем не менее вопрос в следуещем есть база в Access с полями файл и ссылка, мне соответственно в программе на Delphi надо сделать так, чтобы можно было заполнять таблицу. На форме у меня DBGrid, ADOQuery,OpenDialog1,Button. Мне нужно сделать так, чтобы при нажатии на кнопку открывается диалог, выбираем наши файлы в папке и жмем окей, после чего добавляются записи в эти столбцы, ссылка будет одна и та же так как папку мы указали при выборе файлов, а в столбец имена записались имена файлов. Я так предполагю сделать через запрос
INTO INSERT () VALUES () но что то не очень работает выдает ошибки... Подскажите, что можно еще придумать, просто не вручную же вбивать данные в таблицу.
Учиться, учиться и еще раз учиться!
Eugene_Stoun вне форума Ответить с цитированием
Старый 22.07.2013, 15:45   #2
Eugene_Stoun
Пользователь
 
Аватар для Eugene_Stoun
 
Регистрация: 14.06.2013
Сообщений: 56
Печаль

Вот так я добавляю имена файлов в столбец "ФАЙЛ"
Код:
procedure TForm7.Button5Click(Sender: TObject);
var
    st:string;
    i:integer;
begin
if FileOpenDialog1.Execute then
  with FileOpenDialog1.Files do for i := 0 to Count-1 do
  begin
  st:=ExtractFileName(Strings[i]);
ADOQuery1.Active:=false;
ADOQuery1.SQL.Add('INSERT INTO Карточки_учета (Файл) VALUES ('+st+')');
ADOQuery1.Active:=true;
  end;
  end;
Но все равно выдает ошибку, что там чего за пределами констркции SQL!!!
Учиться, учиться и еще раз учиться!
Eugene_Stoun вне форума Ответить с цитированием
Старый 22.07.2013, 16:07   #3
ReportCube
Форумчанин
 
Аватар для ReportCube
 
Регистрация: 11.03.2011
Сообщений: 426
По умолчанию

ADOQuery1 надо не открывать, а исполнить команду на выполнение скрипта
ReportCube вне форума Ответить с цитированием
Старый 22.07.2013, 16:32   #4
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

Цитата:
ADOQuery1 надо не открывать, а исполнить команду на выполнение скрипта
а кроме того нужно еще очищать предыдущий запрос перед внесением нового.
Код:
procedure TForm7.Button5Click(Sender: TObject);
var
  i : integer;
begin
  if FileOpenDialog1.Execute then
    with FileOpenDialog1.Files do 
    begin
      ADOQuery1.Close;
      ADOQuery1.SQL.Text := 'INSERT INTO Карточки_учета (Файл) VALUES (:st)';
      for i := 0 to Count-1 do
      begin
        ADOQuery1.Parameters.ParamByName('st').Value := ExtractFileName(Strings[i]);
        ADOQuery1.ExecSQL;
      end;
    end;
end;
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...

Последний раз редактировалось Yurk@; 22.07.2013 в 16:37.
Yurk@ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавление записи в таблицу через таблицу Anton911 БД в Delphi 0 14.05.2012 11:51
Объединить таблицу access и таблицу paradoxa в таблицу access GROSS777 БД в Delphi 1 09.02.2012 14:58
добавление в таблицу БД NieL Общие вопросы Delphi 3 16.03.2011 00:25
Запрос возвращает пустую таблицу, если один из подзаросов возвращает пустую таблицу ArtInt SQL, базы данных 9 12.05.2010 15:40
Украсить таблицу cowboy Microsoft Office Excel 2 07.12.2009 18:26