Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.68/34: Рейтинг темы: голосов - 34, средняя оценка - 4.68
 Аватар для Programmer1993
44 / 24 / 1
Регистрация: 22.05.2012
Сообщений: 669
MySQL

Добавить запись в таблицу

20.09.2016, 10:55. Показов 6771. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Delphi + MySql / Пытаюсь через запрос добавить запись в таблицу, но выходит ошибка

Delphi
1
2
3
4
5
6
7
8
9
procedure TForm1.Button2Click(Sender: TObject);
 
begin
AdoQuery1.Active := False;
AdoQuery1.Sql.Text := 'INSERT INTO reestrnew (snils, fio, vidperer, sposob) ';
AdoQuery1.Sql.Text := 'VALUES ("094-865-695 12", "Иванов Иван Иванович", "индексация", "почта");';
AdoQuery1.Active := True;
END;
end.
вот структура таблицы
mysql> use reestrnew;
Database changed
mysql> describe reestrnew;
+--------------+---------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+---------------+------+-----+---------+----------------+
| id | int(10) | NO | PRI | NULL | auto_increment |
| SNILS | char(14) | YES | | NULL | |
| FIO | char(70) | YES | | NULL | |
| datr | date | YES | | NULL | |
| vidperer | char(30) | YES | | NULL | |
| sposob | char(20) | YES | | NULL | |
| vidvipl | char(15) | YES | | NULL | |
| starsum | decimal(20,2) | YES | | NULL | |
| newsum | decimal(20,2) | YES | | NULL | |
| dopl | decimal(20,2) | YES | | NULL | |
| kviplate | decimal(20,2) | YES | | NULL | |
| dataizmensum | date | YES | | NULL | |
| datazapoln | date | YES | | NULL | |
| timezapoln | time | YES | | NULL | |
| polzovatel | char(30) | YES | | NULL | |
+--------------+---------------+------+-----+---------+----------------+
15 rows in set (0.01 sec)
Миниатюры
Добавить запись в таблицу  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.09.2016, 10:55
Ответы с готовыми решениями:

SQLite - добавить запись в таблицу
Доброго времени суток форумчане. Не откажите в помощи, подскажите. Имеется база с двумя таблицами в ней обозначу как табл1 и табл2. табл2...

Как добавить запись в таблицу?
Данные в DBGrid заносятся по SQL запросу в ADOQuery1. Как добавить еще одну строку в таблицу Predmeti (в поля ID (ключевое), Kurs, Semestr,...

Как добавить запись в таблицу используя SQL?
Добрый вечер! 1) Есть БД (схема представлена ниже, Access), в DBLookupComboBox выводятся все названия организаций из таблицы...

9
5975 / 4550 / 1095
Регистрация: 29.08.2013
Сообщений: 28,169
Записей в блоге: 3
20.09.2016, 11:00
для INSERT нужно делать Query.Execute

если запрос что-то возвращает - то Active\Open\OpenOrExecute
если нет - то ExecSQL\Execute\OpenOrExecute

Добавлено через 34 секунды
ну и разумеется проверить запрос в какой-нибудь программе )
0
20.09.2016, 11:08

Не по теме:

Цитата Сообщение от qwertehok Посмотреть сообщение
проверить запрос в какой-нибудь программе :)
Например, HeidiSQL :)

0
 Аватар для Programmer1993
44 / 24 / 1
Регистрация: 22.05.2012
Сообщений: 669
20.09.2016, 12:50  [ТС]
qwertehok, не совсем понял, можно поподробнее?
0
Хитрая блондиночка $)
 Аватар для Hikari
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
20.09.2016, 12:55
Ты во-первых вторым присвоением (AdoQuery1.Sql.Text :=) затираешь первое, а во-вторых пытаешься набор открыть а не выполнить. Делай так
Delphi
1
2
3
4
5
6
7
8
9
procedure TForm1.Button2Click(Sender: TObject);
begin
Wuth AdoQuery1 do begin 
 Close;
 Sql.Text := 'INSERT INTO reestrnew (snils, fio, vidperer, sposob) ';
 Sql.Append('VALUES ("094-865-695 12", "Иванов Иван Иванович", "индексация", "почта");')
 If ExecSQL<>1 then ShowMessage('Не добавлено');
END;
end.
P.S. И еще меня смущает то, что строки оковычиваются двойными ковычками а не одинарными, хотя не исключаю что мускул допускает такое.
0
 Аватар для Programmer1993
44 / 24 / 1
Регистрация: 22.05.2012
Сообщений: 669
20.09.2016, 13:06  [ТС]
Hikari, Спасибо, сейчас попробую, а на счет ковычек так надо, апостроф выдает ошибку.

Я раньше просто с эксесом работал, а тут раз и mysql.
0
 Аватар для Programmer1993
44 / 24 / 1
Регистрация: 22.05.2012
Сообщений: 669
20.09.2016, 13:35  [ТС]
Цитата Сообщение от Hikari Посмотреть сообщение
Ты во-первых вторым присвоением (AdoQuery1.Sql.Text :=) затираешь первое, а во-вторых пытаешься набор открыть а не выполнить. Делай так
DelphiВыделить код

procedure TForm1.Button2Click(Sender: TObject);
begin
Wuth AdoQuery1 do begin
*Close;
*Sql.Text := 'INSERT INTO reestrnew (snils, fio, vidperer, sposob) ';
*Sql.Append('VALUES ("094-865-695 12", "Иванов Иван Иванович", "индексация", "почта");')
*If ExecSQL<>1 then ShowMessage('Не добавлено');
END;
end.
P.S. И еще меня смущает то, что строки оковычиваются двойными ковычками а не одинарными, хотя не исключаю что мускул допускает такое.
теперь вот такая ошибка на этот код
Миниатюры
Добавить запись в таблицу  
0
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
20.09.2016, 13:43
Цитата Сообщение от Programmer1993 Посмотреть сообщение
теперь вот такая ошибка на этот код
Скорее всего, вместо кавычек таки нужен задвоенный апостроф. А еще лучше использовать параметры для передачи литералов, там Delphi с кавычками сам разберется.
0
Хитрая блондиночка $)
 Аватар для Hikari
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
20.09.2016, 14:18
Цитата Сообщение от Programmer1993 Посмотреть сообщение
теперь вот такая ошибка на этот код
Изучи параметризацию запроса в Делфи и не мучайся с ковычками.
0
 Аватар для krapotkin
6849 / 4676 / 1464
Регистрация: 14.04.2014
Сообщений: 20,670
Записей в блоге: 21
20.09.2016, 14:22
Цитата Сообщение от Hikari Посмотреть сообщение
Delphi
1
2
Sql.Text := 'INSERT INTO reestrnew (snils, fio, vidperer, sposob) ';
*Sql.Append('VALUES ("094-865-695 12", "Иванов Иван Иванович", "индексация", "почта");')
оно конечно лучше предыдущего, но имхо еще лучше
Delphi
1
2
Sql.Text := 'INSERT INTO reestrnew (snils, fio, vidperer, sposob) '+
                             'VALUES ("094-865-695 12", "Иванов Иван Иванович", "индексация", "почта")'
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.09.2016, 14:22
Помогаю со студенческими работами здесь

Как добавить запись в таблицу без сохранения
Есть DBGrid с таблицей из БД. В нем можно редактировать записи и добавлять новые. Я пытаюсь сделать добавление записи в новой форме и...

Как добавить запись в связную таблицу через adoquery?
В главную таблицу записи добавляются,как сделать что бы во вторую таблицу можно было добавить связную запись? Помогите пожалуйста,плохо в...

Добавить новую запись в таблицу, где есть lookup поле
я через отдельную фору добавляю информацию в таблицу, расположенную на другой форме DataModule2.Table2.Append; ...

Не могу добавить запись в таблицу
$sql = 'INSERT INTO product ' . '(name, code, price, category_id, brand, availability,' . 'description, is_new,...

Не удается добавить запись в таблицу
Всем привет. Начал учить строение сайтов, ну и соответственно PHP. Вроде бы все понятно, но загвоздка случилась на форме для добавления...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru