Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
2 / 2 / 0
Регистрация: 15.05.2011
Сообщений: 89

внесение данных в таблицу

31.05.2011, 01:36. Показов 2300. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
необходимо ввести данные в таблицу...немогу внести выдаёт ошибку Parametr in_number not found вот код
Code
1
2
3
4
IBStoredProc1->Params->ParamByName("in_number")->Value =Edit1->Text;
IBStoredProc1->Params->ParamByName("in_date")->Value =DateTimePicker1->Date;
IBStoredProc1->Params->ParamByName("send_date")->Value =DateTimePicker2->Date;
IBStoredProc1->Params->ParamByName("send_number")->Value =Edit2->Text;
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.05.2011, 01:36
Ответы с готовыми решениями:

Внесение данных из email в БД
Привет всем. Для курсовой я должен написать прогу, позволяющую считывать и вносить данные из email, отправленные с другого, в БД. ...

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

Внесение данных в таблицу DBGridEh
Здравствуйте! Не могу разобраться с многообразием этой библиотеки. Как заполнить таблицу, представленную на рисунке сверху? Данные...

16
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
31.05.2011, 09:25
А так?
C++
1
 IBStoredProc1->Params->ParamByName("in_number")->Value = StrToInt(Edit1->Text);
Добавлено через 3 минуты
Ты какими нибудь методами пользуешься при добавлении данных в таблицу
0
2 / 2 / 0
Регистрация: 15.05.2011
Сообщений: 89
31.05.2011, 10:29  [ТС]
Нет методы не использую...просто я делаю так как раньше но вот с interbase неполучается добавить, а в оракле таким способом добавлял и все нормально было, я попробовал StrToInt все таже ошибка(( оно невидит записи в Едите чтоли непойму
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
31.05.2011, 10:39
Цитата Сообщение от mojohead Посмотреть сообщение
Parametr in_number not found
Он параметр не может найти
1
2 / 2 / 0
Регистрация: 15.05.2011
Сообщений: 89
31.05.2011, 11:03  [ТС]
Тоесть он невидит поля таблицы?
0
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
31.05.2011, 11:21
В хранимке, которую Вы пытаетесь выполнить, нет параметра с именем "in_number"

Добавлено через 2 минуты
Вы в дизайне определили параметры для ХП ?
Если да, то, возможно, кто-то изменил тело хранимки.

Короче, ИБ тут вряд ли причем. Скорее Вы не учли особенности библиотеки IBX - читайте справку внимательнее

Добавлено через 10 минут
Давно работал с ИБ, не помню, но мне кажется там вроде бы небыло метода извлечения списка параметров с сервера, по аналогии с адошным Parameters->Refresh(). Поэтому все ручками и при изменении тела ХП (в части параметров) надо лезть править код.
Или я неправ ?
1
2 / 2 / 0
Регистрация: 15.05.2011
Сообщений: 89
31.05.2011, 11:23  [ТС]
попробовал сделать подругому
Code
1
2
3
IBQuery1->SQL->Clear();
IBQuery1->SQL->Add("insert into in_doc values("+Edit1->Text+",'"+DateTimePicker1->Date+"','"+ComboBox1->Text+"',"+ComboBox2->Text+","+DateTimePicker2->Date+","+Edit2->Text+","+Edit3->Text+","+DateTimePicker3->Date+","+ComboBox2->Text+","+Memo1->Text+","+Memo2->Text+");");
IBQuery1->Open();
но теперь ругается на 67 символ думаю что неправильно записал внесение даты...пишет SQL Error code=-104..Token unknown -line1, char 67
0
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
31.05.2011, 11:40
Правильный формат INSERT:
Insert into Table (FieldName1,FieldName2,...FieldNameN)
Values (Val1,Val2,...ValN)

Добавлено через 6 минут
Вы неверно пытаетесь подставить даты. TDateTimePicker.Date возвращает тип TDateTime, а Вы его пихаете как строчку

И еще:
используйте параметризированные запросы, особенно если подставляете даты (в ИБ Вас ждут интересные "полтергейсты" при выборках по интервалам, если Вы конечно, не будете грамотно готовить и подставлять параметры).
1
2 / 2 / 0
Регистрация: 15.05.2011
Сообщений: 89
31.05.2011, 14:35  [ТС]
я то в принцыпе знаю какой правильный формат инзерта но в билдере мне как правильно подать незнаю...немогли бы вы примерчик какойнить написать для ввода данных...как именно подать дату незнаю
0
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
31.05.2011, 18:32
Собственно какая разница в билдере или каком-нибудь эксперте. Текст запроса просто переносится в св-во SQL компонента. И все.
Ваш запрос я не могу переделать т.к. не знаю имен полей таблицы.
1
2 / 2 / 0
Регистрация: 15.05.2011
Сообщений: 89
01.06.2011, 00:08  [ТС]
вот такие поля таблицы
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
TABLE "IN_DOC" 
(
  "IN_NUMBER"   VARCHAR(20) CHARACTER SET WIN1251 NOT NULL,
  "IN_DATE" DATE NOT NULL,
  "IN_TYPE" VARCHAR(100) CHARACTER SET WIN1251,
  "SENDER_NAME" VARCHAR(100) CHARACTER SET WIN1251,
  "SEND_DATE"   DATE NOT NULL,
  "SEND_NUMBER" VARCHAR(20) CHARACTER SET WIN1251 NOT NULL,
  "FILENAME"    VARCHAR(100) CHARACTER SET WIN1251,
  "FOLDER"  VARCHAR(100) CHARACTER SET WIN1251,
  "REGISTER_DATE"   DATE,
  "CONTENT" VARCHAR(2000) CHARACTER SET WIN1251,
  "CRIPT"   VARCHAR(1000) CHARACTER SET WIN1251,
 PRIMARY KEY ("IN_NUMBER")
);
Добавлено через 3 часа 52 минуты
пробую уже без тайм пикера просто в едит но как правильно внести дату незнаю...уже задолбался...вот код
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
IBQuery1->Close();
IBQuery1->SQL->Clear();
IBQuery1->SQL->Add("INSERT INTO in_doc (IN_NUMBER, IN_DATE, IN_TYPE, SENDER_NAME, SEND_DATE, SEND_NUMBER, FILENAME, FOLDER, REGISTER_DATE, CONTENT, CRIPT)");
IBQuery1->SQL->Add("VALUES (:Param1, :Param2, :Param3, :Param4, :Param5, :Param6, :Param7, :Param8, :Param9, :Param10, :Param11)");
IBQuery1->Params->ParamByName("Param1")->Value ="'"+Edit1->Text+"'";
IBQuery1->Params->ParamByName("Param2")->Value ="'"+Edit4->Text+"'";
IBQuery1->Params->ParamByName("Param3")->Value ="'"+ComboBox1->Text+"'";
IBQuery1->Params->ParamByName("Param4")->Value ="'"+ComboBox2->Text+"'";
IBQuery1->Params->ParamByName("Param5")->Value ="'"+Edit5->Text+"'";
IBQuery1->Params->ParamByName("Param6")->Value ="'"+Edit2->Text+"'";
IBQuery1->Params->ParamByName("Param7")->Value ="'"+Edit3->Text+"'";
IBQuery1->Params->ParamByName("Param8")->Value ="'"+ComboBox3->Text+"'";
IBQuery1->Params->ParamByName("Param9")->Value ="'"+Edit6->Text+"'";
IBQuery1->Params->ParamByName("Param10")->Value ="'"+Memo1->Text+"'";
IBQuery1->Params->ParamByName("Param11")->Value ="'"+Memo2->Text+"'";
//IBQuery1->SQL->Add("select * from in_doc;");
IBQuery1->Open();
0
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
01.06.2011, 09:53
Для типов "дата" и пишите в параметр саму дату:

IBQuery1->Params->ParamByName("Param2")->Value = DateTimePicker1.Date;
IBQuery1->Params->ParamByName("Param5")->Value = DateTimePicker2.Date;
...
1
2 / 2 / 0
Регистрация: 15.05.2011
Сообщений: 89
01.06.2011, 13:22  [ТС]
вот такую ошибку выдаёт
Миниатюры
внесение данных в таблицу  
0
2 / 2 / 0
Регистрация: 15.05.2011
Сообщений: 89
01.06.2011, 13:29  [ТС]
сделал так
IBQuery1->Params->ParamByName("Param2")->Value ="'"+DateTimePicker1->Date+"'";
выдаёт такую ошибку
как сделать формат даты только для дня месяца и года без времени?
и вообще судя по ошибке оно не считает введённое в DateTimePicker1 датой :-(
Миниатюры
внесение данных в таблицу  
0
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
01.06.2011, 15:58
Вы игнорируете правильные советы (12) и продолжаете "лепить горбатого" в запрос.
А когда получаете отлуп, то начинаете пенять на ни в чем не винный датапикер
1
2 / 2 / 0
Регистрация: 15.05.2011
Сообщений: 89
01.06.2011, 17:45  [ТС]
Цитата Сообщение от MsGuns Посмотреть сообщение
Для типов "дата" и пишите в параметр саму дату:

IBQuery1->Params->ParamByName("Param2")->Value = DateTimePicker1.Date;
IBQuery1->Params->ParamByName("Param5")->Value = DateTimePicker2.Date;
...
я пробовал так как Вы посоветовали но всёравно выдаёт ошибку которую я привёл первой
0
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
02.06.2011, 09:41
IBQuery1->Params->ParamByName("Param2")->AsDateTime = DateTimePicker1.Date;
IBQuery1->Params->ParamByName("Param5")->AsDateTime = DateTimePicker2.Date;
...
и так для всех дат. Приведите польностью фрагмент кода подготовки и запуска запроса
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.06.2011, 09:41
Помогаю со студенческими работами здесь

Внесение данных в таблицу ADODB
Здравствуйте,уважаемые! Подскажите,пожалуйста,почему вносит только числовые значения?а текст напрочь отказывается...:-( Вот код на...

Внесение данных из textBox в таблицу MySQL
При внесении данных из текстового поля в таблицу - в таблице отображается "???" Текст пишу на русском, если писать на английском -...

Внесение данных в таблицу через форму
Ситуация такая: есть две таблицы, "персоны и работа" в одной список сотрудников, в другой столбец фамилия связан с этой таблицей и можно...

Внесение данных из списка в подчиненную таблицу
Доброго дня профессионалам ! Подскажите как внести данные с формы на которой находится список, в подчиненную форму - таблицу...

Внесение данных UserForm1 в таблицу Excel
Друзья, выручите меня, пожалуйста. Помогите преодолеть собственное бессилие. Итак, хочу автоматизировать процесс внесения данных в...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 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-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru