Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Shiningemerald
 Аватар для Electroflower
384 / 117 / 22
Регистрация: 05.01.2012
Сообщений: 951

Заполнение полей

27.05.2012, 21:58. Показов 1819. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
(не пугайтесь что много кода)
Ребят, заполняю поля таблицы так:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
ADOQuery1.SQL.Clear();
ADOQuery1.SQL.Text:=
'INSERT INTO Главная([Фамилия],[Имя],[Отчество],[Годрождения],[Гражданство],[Прописка],[Серияпаспорта],[Номерпаспорта],[Цветволос],[Цветглаз])VALUES (:E1, :E2, :E3, :E4, :C4, :C3, :E7, :E8, :C1, :C2)';
ADOQuery1.Parameters.ParamByName('E1').Value:=Edit1.Text; //фамилия
ADOQuery1.Parameters.ParamByName('E2').Value:=Edit2.Text; //имя
ADOQuery1.Parameters.ParamByName('E3').Value:=Edit3.Text; //отчество
ADOQuery1.Parameters.ParamByName('E4').Value:=Edit4.Text; //годрождения
ADOQuery1.Parameters.ParamByName('C4').Value:=ComboBox4.Text;//  гражданство
ADOQuery1.Parameters.ParamByName('C3').Value:=ComboBox3.Text;  //  прописка
ADOQuery1.Parameters.ParamByName('E7').Value:=Edit7.Text;  //серия паспорта
ADOQuery1.Parameters.ParamByName('E8').Value:=Edit8.Text;  // номер паспорта
ADOQuery1.Parameters.ParamByName('C1').Value:=ComboBox1.Text; //цвет волос
ADOQuery1.Parameters.ParamByName('C2').Value:=ComboBox2.Text; //цвет глаз
все прекрасно добавляется в БД, но это не вся таблица, поэтому дописываю остальные поля:

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
ADOQuery1.SQL.Clear();
ADOQuery1.SQL.Text:='INSERT INTO Главная([Фамилия],[Имя],[Отчество],[Годрождения],[Гражданство],[Прописка],[Серияпаспорта],[Номерпаспорта],[Цветволос],[Цветглаз],[Рост],[Вес],[Телосложение],[Особыеприметы],[Статья],[ДлительностьпребываниявМЛС]) VALUES (:E1, :E2, :E3, :E4, :C4, :C3, :E7, :E8, :C1, :C2, :E6, :E9, :C5, :C6, :E10, :E5)';
ADOQuery1.Parameters.ParamByName('E1').Value:=Edit1.Text; //фамилия
ADOQuery1.Parameters.ParamByName('E2').Value:=Edit2.Text; //имя
ADOQuery1.Parameters.ParamByName('E3').Value:=Edit3.Text; //отччество
ADOQuery1.Parameters.ParamByName('E4').Value:=Edit4.Text; //годрождения
ADOQuery1.Parameters.ParamByName('C4').Value:=ComboBox4.Text;//  гражданство
ADOQuery1.Parameters.ParamByName('C3').Value:=ComboBox3.Text;  //  прописка
ADOQuery1.Parameters.ParamByName('E7').Value:=Edit7.Text;  //серия паспорта
ADOQuery1.Parameters.ParamByName('E8').Value:=Edit8.Text;  // номер паспорта
ADOQuery1.Parameters.ParamByName('C1').Value:=ComboBox1.Text; //цвет волос
ADOQuery1.Parameters.ParamByName('C2').Value:=ComboBox2.Text; //цвет глаз
ADOQuery1.Parameters.ParamByName('E6').Value:=Edit6.Text;   //рост
ADOQuery1.Parameters.ParamByName('E9').Value:=Edit9.Text;   //вес
ADOQuery1.Parameters.ParamByName('C5').Value:=ComboBox5.Text;//телосложение
ADOQuery1.Parameters.ParamByName('C6').Value:=ComboBox6.Text; //особыеприметы
ADOQuery1.Parameters.ParamByName('E10').Value:=Edit10.Text;//    статья
ADOQuery1.Parameters.ParamByName('E5').Value:=Edit5.Text; //длительность преб
выдает ошибку [Error] Unit5.pas(247): String literals may have at most 255 elements
как я понимаю у меня в одной строчке много символов, но переносить никак нельзя.
тогда решаю сделать по частям вот так:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
ADOQuery1.SQL.Clear();
ADOQuery1.SQL.Text:=
'INSERT INTO Главная([Фамилия],[Имя],[Отчество],[Годрождения],[Гражданство],[Прописка],[Серияпаспорта],[Номерпаспорта],[Цветволос],[Цветглаз])VALUES (:E1, :E2, :E3, :E4, :C4, :C3, :E7, :E8, :C1, :C2)';
ADOQuery1.Parameters.ParamByName('E1').Value:=Edit1.Text; //фамилия
ADOQuery1.Parameters.ParamByName('E2').Value:=Edit2.Text; //имя
ADOQuery1.Parameters.ParamByName('E3').Value:=Edit3.Text; //отчество
ADOQuery1.Parameters.ParamByName('E4').Value:=Edit4.Text; //годрождения
ADOQuery1.Parameters.ParamByName('C4').Value:=ComboBox4.Text;//  гражданство
ADOQuery1.Parameters.ParamByName('C3').Value:=ComboBox3.Text;  //  прописка
ADOQuery1.Parameters.ParamByName('E7').Value:=Edit7.Text;  //серия паспорта
ADOQuery1.Parameters.ParamByName('E8').Value:=Edit8.Text;  // номер паспорта
ADOQuery1.Parameters.ParamByName('C1').Value:=ComboBox1.Text; //цвет волос
ADOQuery1.Parameters.ParamByName('C2').Value:=ComboBox2.Text; //цвет глаз
 
ADOQuery1.SQL.Clear();
ADOQuery1.SQL.Text:=
'INSERT INTO Главная ([Рост],[Вес],[Телосложение],[Особыеприметы],[Статья],[ДлительностьпребываниявМЛС],[Характерпреступления],[ПривлекалсякУО])   Values (:E6, :E9, :C5, :C6, :E10, :E5, :C7, :E11)';
ADOQuery1.Parameters.ParamByName('E6').Value:=Edit6.Text;   //рост
ADOQuery1.Parameters.ParamByName('E9').Value:=Edit9.Text;   //вес
ADOQuery1.Parameters.ParamByName('C5').Value:=ComboBox5.Text;//телосложение
ADOQuery1.Parameters.ParamByName('C6').Value:=ComboBox6.Text; //особыеприметы
ADOQuery1.Parameters.ParamByName('E10').Value:=Edit10.Text;//    статья
ADOQuery1.Parameters.ParamByName('E5').Value:=Edit5.Text; //длительность преб
ADOQuery1.Parameters.ParamByName('C7').Value:=ComboBox7.Text; //характер преступления
ADOQuery1.Parameters.ParamByName('E11').Value:=Edit11.Text;   //привлекарся в уо раз
теперь добавляет только вторую часть таблицы начиная с поля РОСТ ВЕС ТЕЛОСЛОЖЕНИЕ итд....


Вопрос: как быть, что делать? пожалуйста, помогите чем можете.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.05.2012, 21:58
Ответы с готовыми решениями:

Заполнение полей и переключение
Привет всем. Помогите с кодом: необходимо сделать так, чтобы при нажатии на кнопку писало ошибку о том, что поля не заполнены и нельзя...

Проверка на заполнение полей
как сделать проверку на заполнение полей при нажатии на кнопку "Применить" на навигаторе (DBNavigator2). в частности меня интересует...

как создать запрос на заполнение в полей таблицы Access через delphi
как создать запрос на заполнение в полей таблицы Access через delphi, при помощи Editов

5
480 / 393 / 113
Регистрация: 24.04.2012
Сообщений: 1,632
Записей в блоге: 3
28.05.2012, 06:45
Цитата Сообщение от Electroflower Посмотреть сообщение
но переносить никак нельзя.
почему нельзя?
Если по второму варианту:
Цитата Сообщение от Electroflower Посмотреть сообщение
ADOQuery1.SQL.Clear();
ADOQuery1.SQL.Text:=
нет исполения SQL (ExecSQL так помойму , а потом тебе апдейтить эту запись которую вставила.
0
Shiningemerald
 Аватар для Electroflower
384 / 117 / 22
Регистрация: 05.01.2012
Сообщений: 951
28.05.2012, 08:00  [ТС]
Bit_Man, спасибо,а можно подробнее? просто не в полне понимаю как прописать=/
0
480 / 393 / 113
Регистрация: 24.04.2012
Сообщений: 1,632
Записей в блоге: 3
28.05.2012, 08:33
по 1 варианту: лучше переносить (#13 помойму так в Delphi) вставь перед values. Обязательно параметры? Нелучше сразу прописать?!
по 2 варианту: отлавлитвать последнюю запись скорее всего select'ом (у тебя же Access, я так понимаю. В InterBase есть такое как returning (возвращает значение поля при инсерт) может что то подобное есть в Access?! Спроси у Sasha он с Access работает, как то общался с ним.
1
15 / 15 / 2
Регистрация: 01.05.2012
Сообщений: 33
28.05.2012, 13:10
если длина строки большая, то просто тупо вот так:
Delphi
1
2
3
ADOQuery1.SQL.Text:='INSERT INTO Главная ([Рост],[Вес],[Телосложение],'+
'[Особыеприметы],[Статья],[ДлительностьпребываниявМЛС],[Характерпреступления],'+
'[ПривлекалсякУО])   Values (:E6, :E9, :C5, :C6, :E10, :E5, :C7, :E11)';
1
Shiningemerald
 Аватар для Electroflower
384 / 117 / 22
Регистрация: 05.01.2012
Сообщений: 951
28.05.2012, 21:21  [ТС]
bzlamshik, genius!!!!!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.05.2012, 21:21
Помогаю со студенческими работами здесь

При удалении записей значения полей автоматически увеличивающееся на 1 (+Autoincrement) не изменяются в оставшихся полей не изменяются
При удалении записей значения полей автоматически увеличивающееся на 1 (+Autoincrement) не изменяются в оставшихся полей не изменяются

Заполнение Полей
Господа! Такая проблемка: Мне нужно при создании или открытии документа перезаписать некоторые существующие в документе поля из других...

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

Заполнение полей класса
Всем привет, речь идет об обновлений строк бд в проекте LinqToSQL. Т.е. есть сама база и обертка над ней, для упрощения работы, проблемное...

Проверка на заполнение полей
Создаю регистрационную форму для ввода логина и пароля не могу понять как сделать проверку полей, что бы если они пустые(не заполнены), то...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru