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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.10.2018, 17:43   #11
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

не нужно смеяться.

1)
Цитата:
Сообщение от Querto Посмотреть сообщение
SQLquery1
не надо один и тот же запрос использовать и для получения данных и для их модификации. Вам что, жалко на форму пару лишних SQLQuery набросать?


2)
Цитата:
Сообщение от Querto Посмотреть сообщение
Код:
sqlquery1.Post;
sqlquery1.ApplyUpdates(0);
Это не из этой оперы
запомните простую схему.
- перед изменением текста запроса его нужно закрыть SQLQueryXXX.Close;
- если запрос на получение данных (содержит команду SELECT) нужно выполнить запрос, послав команду на открытие данных: SQLQueryXXX.Open;
- если запрос на изменение данных (содержит команды INSERT | UPDATE | DELETE ), то его нужно выполнить: SQLQueryXXX.ExecSQL;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 24.10.2018, 18:03   #12
Querto
Пользователь
 
Регистрация: 22.10.2018
Сообщений: 15
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
запомните простую схему.
- перед изменением текста запроса его нужно закрыть SQLQueryXXX.Close;
- если запрос на получение данных (содержит команду SELECT) нужно выполнить запрос, послав команду на открытие данных: SQLQueryXXX.Open;
- если запрос на изменение данных (содержит команды INSERT | UPDATE | DELETE ), то его нужно выполнить: SQLQueryXXX.ExecSQL
тогда я вообще не понимаю что к чему. есть вот это, чего не хватает?

12.jpg
Querto вне форума Ответить с цитированием
Старый 24.10.2018, 18:09   #13
Querto
Пользователь
 
Регистрация: 22.10.2018
Сообщений: 15
По умолчанию

Цитата:
Сообщение от Querto Посмотреть сообщение
тогда я вообще не понимаю что к чему. есть вот это, чего не хватает?

Вложение 94572
С этой ошибкой разобрался ( указывал название базы, вместо названия таблицы) . Вылетела эта ошибка

12.jpg
Querto вне форума Ответить с цитированием
Старый 24.10.2018, 18:25   #14
Querto
Пользователь
 
Регистрация: 22.10.2018
Сообщений: 15
По умолчанию

Разобрался и с ошибкой сверху ( поместил SQLQuery2.Open в комментарии) .Теперь он заносит данные в DBGrid , а в базу нет.

12.jpg
Querto вне форума Ответить с цитированием
Старый 24.10.2018, 18:43   #15
Querto
Пользователь
 
Регистрация: 22.10.2018
Сообщений: 15
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
2)
Цитата:
Сообщение от Querto
Код:

sqlquery1.Post;
sqlquery1.ApplyUpdates(0);

Это не из этой оперы
если это не из этой оперы, а запросом INSERT данные заносятся только в DBGRID , то как их сохранить в бд?
Querto вне форума Ответить с цитированием
Старый 24.10.2018, 19:38   #16
Querto
Пользователь
 
Регистрация: 22.10.2018
Сообщений: 15
По умолчанию

Цитата:
Сообщение от Querto Посмотреть сообщение
если это не из этой оперы, а запросом INSERT данные заносятся только в DBGRID , то как их сохранить в бд?
Ну вообщем получилось сделать , выложу код ( что бы не забыть в след раз ). Скажите , правильно все сделал? или опять криво? Лучше сразу правильно научится, что бы потом не сидеть по 3+часа и разгадывать свои ошибки.
Код:
begin
   SQLquery2.Close;
   SQLquery2.SQL.Text:='insert into tovars(name)values('+#39+name+#39+')';
   showmessage(SQLQuery2.SQL.text);
   SQLQuery2.ExecSQL;
  // SqlQuery2.SQL.text:='UPDATE tovars SET name = '+#39+name+#39+';';
  // showmessage(SQLQuery2.SQL.text);
  // SQLQuery2.ExecSQL;
    SQLTransaction1.commit;
    SQLquery1.active:=false;
    SQLquery1.active:=true;
end;
Querto вне форума Ответить с цитированием
Старый 24.10.2018, 20:47   #17
Querto
Пользователь
 
Регистрация: 22.10.2018
Сообщений: 15
По умолчанию

еще одна интересная ошибка . В базу данных все данные заносятся, вот код SQL
Код:
insert into postavshik(kod, namepost,adres,tel,mobtel)values('','+#39+edit1.Text+#39+','+#39+edit2.Text+#39+','+#39+edit3.Text+#39+','+#39+edit4.Text+#39+');
вот что выводится в DBGrid.Почему не выводятся данные в поле mobtel(мобильный телефон) ?

12.jpg
Querto вне форума Ответить с цитированием
Старый 24.10.2018, 21:57   #18
Querto
Пользователь
 
Регистрация: 22.10.2018
Сообщений: 15
По умолчанию

Решил проблему.
Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
не нужно смеяться.

1) не надо один и тот же запрос использовать и для получения данных и для их модификации. Вам что, жалко на форму пару лишних SQLQuery набросать?


2) Это не из этой оперы
запомните простую схему.
- перед изменением текста запроса его нужно закрыть SQLQueryXXX.Close;
- если запрос на получение данных (содержит команду SELECT) нужно выполнить запрос, послав команду на открытие данных: SQLQueryXXX.Open;
- если запрос на изменение данных (содержит команды INSERT | UPDATE | DELETE ), то его нужно выполнить: SQLQueryXXX.ExecSQL;
Спасибо.
Querto вне форума Ответить с цитированием
Старый 25.10.2018, 07:50   #19
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Querto Посмотреть сообщение
Решил проблему.
вот и славно!
и это правильно.


Цитата:
Сообщение от Querto Посмотреть сообщение
Спасибо.
Всегда пожалуйста!
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сохранение в базу данных мониторинг данных с аппарата искусственной вентиляции легких konderson97 Общие вопросы по программированию, компьютерный форум 1 07.03.2018 11:17
Access+Lazarus yulia БД в Delphi 11 13.01.2016 13:53
Сохранение данных в Access fheeda C# (си шарп) 1 21.06.2015 00:46
Сохранение данных из множества файлов в таблицу Access Vladymyrus Microsoft Office Access 1 03.11.2014 15:37
Сохранение данных из Edit в базу данных (не Access) Denis3 БД в Delphi 5 18.03.2013 16:45