Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 01.06.2018, 19:25
BlacKCheT BlacKCheT вне форума
Прохожий
 
Регистрация: 05.05.2018
Сообщения: 40
Версия Delphi: Delphi 7
Репутация: 10
Восклицание Запрос на добавление записи в Acess

В очередной раз ищу помощи в создании такого запроса.. Вообщем хочу сделать регистрацию, с добавлением напрямую в бд Acess(таблицку users).Да поможет мне Аллах.

Сам микро проект прилагается. Пароль от базы внутри. Если хотите пощупать базу, то изменяем формат с database на mbd.

P.S избранному поставлю свечку в церкви
Вложения
Тип файла: rar 111.rar (350.5 Кбайт, 2 просмотров)
Ответить с цитированием
  #2  
Старый 01.06.2018, 20:06
BlacKCheT BlacKCheT вне форума
Прохожий
 
Регистрация: 05.05.2018
Сообщения: 40
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Такие дела

Как дышится?
Изображения
Тип файла: png allah.png (52.0 Кбайт, 7 просмотров)
Тип файла: png issys.png (20.1 Кбайт, 5 просмотров)
Ответить с цитированием
  #3  
Старый 02.06.2018, 00:46
lmikle lmikle сейчас на форуме
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,004
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Попробуй так:
Код:
DataModule2.ADOQuery1.SQL.Clear;
DataModule2.ADOQuery1.SQL.Add('INSERT INTO users (login,password) values ('''+Edit1.text+''','''+Edit2.Text+''')');
DataModule2.ADOQuery1.ExecSQL;
Ответить с цитированием
Этот пользователь сказал Спасибо lmikle за это полезное сообщение:
BlacKCheT (11.06.2018)
  #4  
Старый 11.06.2018, 20:31
BlacKCheT BlacKCheT вне форума
Прохожий
 
Регистрация: 05.05.2018
Сообщения: 40
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Такие дела

Суда бы песню: "Вот такие дела.."
Изображения
Тип файла: png Screenshot_16.png (20.1 Кбайт, 4 просмотров)
Ответить с цитированием
  #5  
Старый 11.06.2018, 23:02
lmikle lmikle сейчас на форуме
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,004
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

попробуй вот так:
Код:
DataModule2.ADOQuery1.SQL.Add('INSERT INTO "users" (login,password) values ('''+Edit1.text+''','''+Edit2.Text+''')');
или так:
Код:
DataModule2.ADOQuery1.SQL.Add('INSERT INTO [users] (login,password) values ('''+Edit1.text+''','''+Edit2.Text+''')');
Ответить с цитированием
  #6  
Старый 12.06.2018, 09:07
BlacKCheT BlacKCheT вне форума
Прохожий
 
Регистрация: 05.05.2018
Сообщения: 40
Версия Delphi: Delphi 7
Репутация: 10
Лампочка Такие дела

Первый вариант не работает, а во втором невозможно найти файл(мою бд).
Ответить с цитированием
  #7  
Старый 12.06.2018, 09:21
BlacKCheT BlacKCheT вне форума
Прохожий
 
Регистрация: 05.05.2018
Сообщения: 40
Версия Delphi: Delphi 7
Репутация: 10
Вопрос Такие дела

Я там скинул исходники, там проект. Сейчас пробую, ничего не происходит.. Просто кнопка отрабатывает и все. Открываю базу а там ничего.
Ответить с цитированием
  #8  
Старый 12.06.2018, 18:49
lmikle lmikle сейчас на форуме
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,004
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Т.е. не "сыпется".
Уже хорошо.
А что бы увидеть изменения в БД еще надо "закоммитить" транзакцию.
Ответить с цитированием
  #9  
Старый 13.06.2018, 22:54
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Цитата:
Сообщение от BlacKCheT
Я там скинул исходники, там проект...
Наконец руки дошли посмотреть его - поля находятся, но при добавлении нового юзверя посредством SQL выскакивает ошибке, что датасетка не в режиме редактирования или вставки, может это с ключевым полем связано, не знаю, сделал "обычными" средствами адозапроски
Код:
procedure TForm4.Button1Click(Sender: TObject); //??????? ?????? ? ???????
begin
 try
  if (Trim(Edit1.Text)='') or (Trim(Edit2.Text)='') then showmessage('Заполните поля!');
  with DataModule2.ADOQuery1 do
   begin
    Insert;
    FieldByName('login').Value:= Edit1.Text;
    FieldByName('password').Value:= Edit2.Text;
    Post; {UpdateBath}
   end;
  Edit1.Clear;
  Edit2.Clear;
 except
  on e:Exception do
 end;
end;
вроде работает
Ответить с цитированием
  #10  
Старый 14.06.2018, 09:26
BlacKCheT BlacKCheT вне форума
Прохожий
 
Регистрация: 05.05.2018
Сообщения: 40
Версия Delphi: Delphi 7
Репутация: 10
Хорошо Поклон ниже плинтуса

Что я вам должен?
Ответить с цитированием
  #11  
Старый 14.06.2018, 13:59
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Кстати, если выкинуть из таблицы ключевое поле, то тогда вот такой запрос записи в неё всёж добавляет
Код:
...
 DataModule2.ADOQuery1.SQL.Add('INSERT INTO users VALUES ("' + Edit1.Text + '","' + Edit2.Text + '")');
...
не знаю с чем связано, но без перечисления полей insert здесь работает
Ответить с цитированием
  #12  
Старый 14.06.2018, 21:32
lmikle lmikle сейчас на форуме
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,004
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Тогда скорее всего дело связанно с тем, что ключевое поле обязательно для заполнения, вот и дает такой сбой.
Ответить с цитированием
  #13  
Старый 14.06.2018, 21:54
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Ага, я тоже так думаю, перепробовал все виды кавычек: одинарные..двойные, и всёравно, ошибку синтаксиса выдовало, просто для юмора, убрал поля по-незнанке и ключевое поле, - и о, чудо - SQL добавляет запись!, не знаю причину, обычно в других базах перечисление полей таблицы работает, а здесь - только с бубном, первый раз такое вижу, может это акцесс мудрствует, правда, не знаю!
Ответить с цитированием
  #14  
Старый 15.06.2018, 00:36
lmikle lmikle сейчас на форуме
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,004
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Скорее просто не та ошибка наружу вылазит, т.е. где-то внутри идет нарушение констрейта, а наружу вылазит ошибка синтаксиса.
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 23:00.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter