Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
4 / 4 / 3
Регистрация: 28.10.2012
Сообщений: 321

Несоответствие типов данных

18.06.2015, 13:57. Показов 1856. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, подскажите из за чего ошибка выходит?
C++
1
2
3
4
5
6
GroupID=IntToStr(Integer(ComboBox2->Items->Objects[ComboBox2->ItemIndex]));//код группы
  DataModule5->Wiring->SQL->Clear();
  DataModule5->Wiring->SQL->Text=" Insert into Студент ([№_группы],[№_физлица],[Зачислен]) "
  "Values (GroupID,StudId,SecId)" ;
  DataModule5->Wiring->ExecSQL();
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.06.2015, 13:57
Ответы с готовыми решениями:

Несоответствие типов данных
С таблицы в DBEdit переносится "КОД" нужно изменить одну ячейку в данной строке, но пишет не соответствие типов данных, никак не могу...

Несоответствие типов данных в выражении условия отбора
Имеется 2 столбца в таблице Access 2010: "Текстовой" и "Числовой". Оба "обязательно для заполнения - нет". При заполнении таблицы в...

"Несоответствие типов данных" при поиске по дате из TCCalendar
пишу одну программу,нужно сделать поиск по базе по дате, которую я выбираю из TCCalendar.Поиск по sql, но мне пишет несоответствие типов...

21
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
18.06.2015, 14:18
Цитата Сообщение от Pavel07 Посмотреть сообщение
из за чего ошибка выходит
Не понял, как связаны 3-я и 4-я строки?
0
Модератор
 Аватар для D1973
9913 / 6450 / 2455
Регистрация: 21.01.2014
Сообщений: 27,384
Записей в блоге: 3
18.06.2015, 14:24
Обрати внимание на переменные GroupID, StudId,SecId... Какого они у тебя типа? Если int - тогда так
C++
1
2
String s = String().sprintf(L"Insert into Студент ([№_группы],[№_физлица],[Зачислен]) Values (%d, %d, %d)", GroupID,StudId,SecId);
DataModule5->Wiring->SQL->Text=s;
Если String - тогда так
C++
1
2
String s = String().sprintf(L"Insert into Студент ([№_группы],[№_физлица],[Зачислен]) Values ('%s', '%s', '%s')", GroupID,StudId,SecId);
DataModule5->Wiring->SQL->Text=s;
0
4 / 4 / 3
Регистрация: 28.10.2012
Сообщений: 321
18.06.2015, 14:26  [ТС]
3 строка это начало запроса а 4 проодлжение)
Если так привычней видеть
C++
1
2
3
4
5
GroupID=IntToStr(Integer(ComboBox2->Items->Objects[ComboBox2->ItemIndex]));//код группы
  DataModule5->Wiring->SQL->Clear();
  DataModule5->Wiring->SQL->Text=" Insert into Студент ([№_группы],[№_физлица],[Зачислен]) Values (GroupID,StudId,SecId)" ;
  DataModule5->Wiring->ExecSQL();
}
Добавлено через 35 секунд
они у меня variant)
0
Модератор
 Аватар для D1973
9913 / 6450 / 2455
Регистрация: 21.01.2014
Сообщений: 27,384
Записей в блоге: 3
18.06.2015, 15:02
Цитата Сообщение от Pavel07 Посмотреть сообщение
они у меня variant
А зачем такие сложности? Откуда в них попадают значения, чтобы требовался именно такой тип?
0
4 / 4 / 3
Регистрация: 28.10.2012
Сообщений: 321
18.06.2015, 16:15  [ТС]
поменял переменные на тип string
Скопировал-вставил
C++
1
2
String s = String().sprintf(L"Insert into Студент ([№_группы],[№_физлица],[Зачислен]) Values ('%s', '%s', '%s')", GroupID,StudId,SecId);
DataModule5->Wiring->SQL->Text=s;
Теперь выдает ошибку
---------------------------
Access violation at address 320905CE in module 'CC32160MT.DLL'. Read of address 00000003.
---------------------------
0
Модератор
 Аватар для D1973
9913 / 6450 / 2455
Регистрация: 21.01.2014
Сообщений: 27,384
Записей в блоге: 3
19.06.2015, 05:42
Покажи весь код. Или сразу проект прицепи. Если БД - Access, то вместе с базой.
0
1408 / 572 / 127
Регистрация: 31.10.2011
Сообщений: 1,960
19.06.2015, 06:00
D1973, причем тут база, если при присваиванию переменной типа String ошибка? (хотя сомневаюсь)
Видно не там косяк, Pavel07, а вот кусок кода, где происходит ошибка надо приложить, для понимания
0
Модератор
 Аватар для D1973
9913 / 6450 / 2455
Регистрация: 21.01.2014
Сообщений: 27,384
Записей в блоге: 3
19.06.2015, 06:16
Если поля БД [№_группы],[№_физлица],[Зачислен] - числовые, а пытаемся писать в них строковые значения - тоже косяк может вылезти. Код нужен, это однозначно, да и на структуры БД глянуть не помешает, чтобы иметь представление, что там и как. Изначально-то вопрос и ставился о несоответствии типов.
0
1408 / 572 / 127
Регистрация: 31.10.2011
Сообщений: 1,960
19.06.2015, 06:26
D1973, да, но ты же привел пример для обеих случаев

хотя не исключено что одно поле текстовое, а другое числовое. Но, думаю, ТС бы догадался......
0
19.06.2015, 06:34

Не по теме:

Цитата Сообщение от _Dimon_ Посмотреть сообщение
Но, думаю, ТС бы догадался......
Да-а-а???

0
19.06.2015, 06:36

Не по теме:

Ага :D

0
4 / 4 / 3
Регистрация: 28.10.2012
Сообщений: 321
19.06.2015, 06:36  [ТС]
поправил ошибку с памятью, теперь выдает что
---------------------------
Невозможно добавление или изменение записи. Для обеспечения целостности данных необходимо наличие связанной записи в таблице 'Параграф'
---------------------------

Код кнопки
C++
1
2
3
4
5
6
7
8
9
if (Form8->ComboBox1->ItemIndex==0)//само зачисление собственно
{
  DataModule5->Wiring->SQL->Clear();
  sql="Insert INTO Студент ([№_группы],[№_физлица],[Зачислен]) "
  "Values ("+GroupID+","+StudId+","+Edit3->Text+")" ;
   Edit4->Text=sql;
  DataModule5->Wiring->ExecSQL();
 
}
Ошибка выходит на строке ExecSQL
Edit3 поставил просто для эксперимента
Edit4 чтобы посмотреть какой запрос собирается
SQL
1
INSERT INTO Студент ([№_группы],[№_физлица],[Зачислен]) VALUES (21,349,114)
вроде все правильно
0
1408 / 572 / 127
Регистрация: 31.10.2011
Сообщений: 1,960
19.06.2015, 06:40
Pavel07, дык тебе русским текстом написано, что
Для обеспечения целостности данных необходимо наличие связанной записи в таблице 'Параграф'
Добавлено через 19 секунд
У тебя сколько таблиц?

Добавлено через 36 секунд
Покажи структуру и ключевые поля
0
4 / 4 / 3
Регистрация: 28.10.2012
Сообщений: 321
19.06.2015, 06:42  [ТС]
прикрепил
Вложения
Тип файла: rar ВКР - копия (2002-2003).rar (110.9 Кб, 4 просмотров)
0
19.06.2015, 06:49

Не по теме:

Бред, полный бред =-O
Это - без меня, господа, я не мазохист

0
1408 / 572 / 127
Регистрация: 31.10.2011
Сообщений: 1,960
19.06.2015, 06:50
D1973, согласен
0
4 / 4 / 3
Регистрация: 28.10.2012
Сообщений: 321
19.06.2015, 06:51  [ТС]
все так печально?
0
1408 / 572 / 127
Регистрация: 31.10.2011
Сообщений: 1,960
19.06.2015, 07:00
Pavel07, да не все, но зачем так жестко связывать таблицу Студент и Параграф?

Вообще удали все лишние связи, продумай, какая таблица главная, та что будет заполнятся в первую очередь

Добавлено через 5 минут
я сам люблю БД с умом, с триггерами, с прочими плюшками, но подумай логично. Представь, что это не БД, а листы (картотека). Как бы ты сделал?
0
4 / 4 / 3
Регистрация: 28.10.2012
Сообщений: 321
19.06.2015, 07:01  [ТС]
а что такого жесткого? параграф по действию может быть как на зачисление так и на отчисление
в первую очередь заполняю Документы, потом создаю параграфы связанные с этим документом, код параграфа в зависимости от действия вставляю в соответствующее поле Студент
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.06.2015, 07:01
Помогаю со студенческими работами здесь

"Несоответствие типов данных в выражении условия отбора"
Ошибка несоответствия при удалении ADOQuery12->SQL->Clear(); ADOQuery12->SQL->Add("DELETE ,,, FROM WHERE...

"Несоответствие типов данных в выражении условия отбора"
Прошу помочь. Есть две основные формы: форма, где я добавляю/редактирую данные и форма для просмотра с DBGridом. Добавление работает,...

Фильтр по дате: ошибка "Несоответствие типов данных в выражении условия отбора"
Здравствуйте! База данных в Access, нужно выбрать все записи с даты (например: 10.02.2016) по дате (например: 15.02.2016) по нажатию...

Несоответствие типов параметров
Следующие инструкции успешно работают в BCB6 unsigned char buf; strcpy(buf,Form1->Edit1->Text.c_str()); И не пропускаются в XE7....

Помогите исправить ошибки. Несоответствие типов. Проблемы с сохранением файла.
Доброго времени суток. Пытаюсь написать шифрование на сетях Фейстеля. Файл нужно разбить на блоки по два символа в каждом блоке. Каждый...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Киев стоит - украинская песня
zorxor 28.01.2026
wfWdiRqdTxc О Господи, Вечный, Ты . . . Я помоги, Бесконечный. . . Я прошу Ты. . . Я погибаю, спаси. . . Я прошу Тебя Вечный. . .
Загрузка 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 и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru