Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
84 / 11 / 7
Регистрация: 10.02.2012
Сообщений: 225
Записей в блоге: 3

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

05.06.2015, 14:35. Показов 1427. Ответов 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
9916 / 6453 / 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): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
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, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru