84 / 11 / 7
Регистрация: 10.02.2012
Сообщений: 225
Записей в блоге: 3

Вставка записей в таблицу

05.06.2015, 14:35. Показов 1429. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Помогите разобраться с sql запросом для вставки записей в таблицу.
Есть БД firebird, есть таблица ttt в ней два поля
1-nn автоинкрементное поле
2- name имя просто
пишу такой запрос
C++
1
2
3
4
5
6
7
8
9
IBQuery1->SQL->Clear();
IBQuery1->SQL->Add("insert into ttt (nn,name) values(Что сюда писать?,'Иван')");
   try
     {  
       DataModule3->IBTransaction1->StartTransaction();
       IBQuery1->ExecSQL();
       IBQuery1->Post();
       DataModule3->IBTransaction1->Commit();
     }
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.06.2015, 14:35
Ответы с готовыми решениями:

Вставка записей в таблицу связанную с другой
Хочу вставить данные с помощью запроса. Две таблицы: spe******t-dogovor (1:М). Связаны по полям id_spec = id_dog_spec . Но не будет же...

Вставка записей в ДБФ-таблицу посредством использования оператора СЕЛЕКТ
Созданную предварительно пустую dbf-таблицу собираюсь заполнить данными нескольких "селектов". Для добавления записей в данную...

Очистка записей из ADOTable и последующая вставка записей в эту же ADOTable
Очищает ADOItogAnt: void __fastcall TForm1::Button18Click(TObject *Sender) { ADOItogAnt->Edit(); while(!ADOItogAnt->Eof) { ...

6
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
05.06.2015, 14:57
А так?
C++
1
2
3
4
5
6
7
8
9
IBQuery1->SQL->Clear();
IBQuery1->SQL->Add("insert into ttt (name) values('Иван')");
   try
     {  
       DataModule3->IBTransaction1->StartTransaction();
       IBQuery1->ExecSQL();
       IBQuery1->Post();
       DataModule3->IBTransaction1->Commit();
     }
0
 Аватар для Витальич
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
05.06.2015, 15:17
Цитата Сообщение от kelabod Посмотреть сообщение
1-nn автоинкрементное поле
в FB нет автоинкрементных полей.
Цитата Сообщение от kelabod Посмотреть сообщение
IBQuery1->Post();
Зачем?
0
84 / 11 / 7
Регистрация: 10.02.2012
Сообщений: 225
Записей в блоге: 3
07.06.2015, 21:08  [ТС]
В firebird есть автоинкремент. Ну это не суть. Так вот в продолжение моего вопроса провел некоторые эксперименты
C++
1
2
3
IBQuery1->SQL->Clear();
IBQuery1->SQL->Add("insert into fio(name,nn) values('Петров','8')");
IBQuery1->ExecSQL();
Код работает записи добавляются, но цифорки поля нужно ставить в ручную здесь стоит 8 ставим 9, 10 ит.д все будет добавляться.
Так вопрос, как записать вместо цифры 8 значения генератора, чтобы он сам менял эти цифры.
Я так понимаю, что сначала нужно делать запрос генератору например так.
Добавляем генератору следующие значение запоминаем его в переменной например count и подставляем его в запрос
C++
1
2
IBQuery1->SQL->Clear();
count=IBQuery1->SQL->ADD(SELECT NEXT VALUE FOR gen_fam_id  FROM RDB$DATABASE);
И получаем итог такой
C++
1
2
3
IBQuery1->SQL->Clear();
IBQuery1->SQL->Add("insert into fio(name,nn) values('Петров',count)");
IBQuery1->ExecSQL();
Я правильно думаю или нет подскажите плиз?
0
1408 / 572 / 127
Регистрация: 31.10.2011
Сообщений: 1,960
07.06.2015, 23:35
может одним запросом все сделать? с firebird не работал, но как-то так..

C++
1
2
3
IBQuery1->SQL->Clear();
IBQuery1->SQL->Add("insert into fio(name,nn) values('Петров',SELECT NEXT VALUE FOR gen_fam_id  FROM RDB$DATABASE)");
IBQuery1->ExecSQL();
0
Модератор
 Аватар для D1973
9917 / 6454 / 2455
Регистрация: 21.01.2014
Сообщений: 27,389
Записей в блоге: 3
08.06.2015, 06:30
Цитата Сообщение от kelabod Посмотреть сообщение
Я правильно думаю или нет
kelabod, верной дорогой идете, товарищ!!!
Вот только записать это надо так:
C++
1
IBQuery1->SQL->Add("insert into fio(name,nn) values('Петров'," + IntToStr(count) + ")");
ну или использовать составной запрос, как _Dimon_ предлагает.
0
84 / 11 / 7
Регистрация: 10.02.2012
Сообщений: 225
Записей в блоге: 3
08.06.2015, 08:13  [ТС]
Ок спасибо за ответы. Ну че теперь увидел как надо. Буду пробовать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.06.2015, 08:13
Помогаю со студенческими работами здесь

вставка большого количества записей в таблицу Word
Здравствуйте. Используя OLE Word Automation, можно ли вставить в таблицу большое количество записей (~20000)? А то ежели построчно...

Вставка фиксированных записей одной таблицы в другую
Помогите, пожалуйста! Суть проблемы такова: Есть таблица_1 в которой поля: Фамилия, Имя, Отчество, номер_удостоверения(Primary_key) и...

Вставка запись в таблицу БД из массива
Как только не пробовала Либо добавляется только последняя запись Либо только первая и ошибка "ADOQuery:Dataset not in edit or...

Вставка выборки из базы данных в отдельную таблицу
Есть некоторая база данных на Interbase. Из неё производится выборка полей таблиц и последующая вставка этих полей в отдельную таблицу, ни...

Добавление записей в таблицу
Как при помощи компонента Table добавлять записи в Табличку, если все значения полей для добавления вводятся в компонент Edit? ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru