Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.07.2010, 13:30   #1
b.grigorev
Пользователь
 
Регистрация: 19.03.2009
Сообщений: 14
По умолчанию Data type mismatch???!!!

Здравствуйте! Посмотрите пожалуйста на эту ошибку, объясните что она означает. В двух словах, при запуске ошибок нет, ошибка появляется, когда пытаешься добавить свои значения в таблицу.
Проект в общем то простой - БД - ADO - таблица dbf (она у всех есть C:\Program Files\Common Files\Borland Shared\Data).
Запрос на добавление данных в таблицу, через ADOQery.
Выкладываю скрин, но еще даю ссылку на саму прогу. http://depositfiles.com/files/57dhwjwkd
Спасибо за ранее! Если кто-то сделает с нуля будет еще лучше!!!
Изображения
Тип файла: jpg Ошибка при добавлении.jpg (17.4 Кб, 315 просмотров)
b.grigorev вне форума Ответить с цитированием
Старый 31.07.2010, 15:24   #2
Alexei91
Заблокирован
Форумчанин
 
Аватар для Alexei91
 
Регистрация: 30.12.2009
Сообщений: 544
По умолчанию

У вас "Тип данных не соответствует" - "Data type mismath". Проверьте код.
Например, переменной типа integer присваивается значение типа string и т.п.
Темы для WordPress. Русские WordPress шаблоны
Alexei91 вне форума Ответить с цитированием
Старый 31.07.2010, 19:38   #3
b.grigorev
Пользователь
 
Регистрация: 19.03.2009
Сообщений: 14
Восклицание

Все понятно. Я только пытаюсь разобраться в этом во всем и для меня слова типа: "Проверьте код. Например, переменной типа integer присваивается значение типа string и т.п." - хуже бана на сайте =).
А можно все таки посмотреть мой код сделать какие-нибудь изменения, я не думаю что это займет много вашего времени? Зато один человек будет лучше разбираться, благодаря вам! Хоть кто-нибудь мне действительно может помочь?
b.grigorev вне форума Ответить с цитированием
Старый 31.07.2010, 20:34   #4
Alexei91
Заблокирован
Форумчанин
 
Аватар для Alexei91
 
Регистрация: 30.12.2009
Сообщений: 544
Сообщение

Запустите SQL Explorer. В Delphi 7 пункт меню Database->Explore.
Найдите в DBDEMOS таблицу Industry. Откройте Fields, поле INT_CODE - тип Numeric,
т.е. числовой.
Ваш код:
Код:
adoquery1.Parameters.ParamByName('ind_code').Value:=edit1.text;
Edit1.text -строка. Отсюда и ошибка.
Пишите
Код:
adoquery1.Parameters.ParamByName('ind_code').Value:=StrToInt(edit1.text);
StrToInt - строку в целое число.
Темы для WordPress. Русские WordPress шаблоны
Alexei91 вне форума Ответить с цитированием
Старый 01.08.2010, 13:15   #5
b.grigorev
Пользователь
 
Регистрация: 19.03.2009
Сообщений: 14
По умолчанию

Спасибо тебе! Действительно нормальный ответ за все время которое я задавал на форумах. Я теперь знаю где смотреть "формат данных ячейки". Спасибо! Но вот новая ошибка, после дого как я добовляю данные: "Текущий проводник не поддерживает возврат...". А потом переходит на код, надо что-то еще добавить в код или что не понимаю???!!! При прошлой ошибке вроде было понятно, что данные не коректные ввожу, а сейчас
Изображения
Тип файла: jpg Тек.пр-ик.jpg (23.5 Кб, 203 просмотров)
Тип файла: jpg переход на код.jpg (40.1 Кб, 128 просмотров)
b.grigorev вне форума Ответить с цитированием
Старый 01.08.2010, 14:12   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

смотрите, когда получаете данные из таблицы (оператор SELECT ... ) тогда делаете Query.Open (или, что абсолютно то же самое, - Query.Active := true)

А когда выполняте операции по изменению данных (это команды INSERT ... / DELETE ... / UPDATE ... )
нужно вместо этого выполнять код:
Код:
AdoQuery1.ExecSQL;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 01.08.2010, 14:39   #7
b.grigorev
Пользователь
 
Регистрация: 19.03.2009
Сообщений: 14
По умолчанию

Спасибо за ответ, но я не совсем понимаю о чем вы говорите. Поясните пожалуйста по подробней!
b.grigorev вне форума Ответить с цитированием
Старый 01.08.2010, 15:13   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Вы издеваетесь?
Посмотрите на свой скриншот "переход на код.jpg "
Выделенную строчку видите?
Цитата:
Код:
adoquery1.active := true;
Так вот, что эта строчка делает, знаете?!
Поясняю. Эта строчка открывает датасет (запрос). Так, чтобы из него можно было получать данные. Но запрос, возвращающий данные - это запрос SELECT <что-то> из ТАБЛИЦЫ
В Вашем случае запрос на ИЗМЕНЕНИЕ данных
(в adoquery1 находится текст "INSERT INTO industry .....")

Замените строчку adoquery1.active := true;
на строчку:
Код:
AdoQuery1.ExecSQL;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 02.08.2010, 08:49   #9
b.grigorev
Пользователь
 
Регистрация: 19.03.2009
Сообщений: 14
По умолчанию

Ну что вы я не издеваюсь, я правда хочу разобраться.
Вобщем измение строчки помогло. Данные добавляются, но эти добавления видны ТОЛЬКО при повоторном отркрытии таблицы???!!!
А как сделать так что-бы добавил данные и они сразу видны в таблице?
И еще статус Active компонента ADOQuery обязательно должен быть true или false, я когда меняю на true выходит ошибка: Неправильно отпределен объект Patametr
b.grigorev вне форума Ответить с цитированием
Старый 02.08.2010, 13:56   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

мой вам совет.
Для добавления и для для отображения (запроса данных) используйте РАЗНЫЕ AdoQuery
тогда, чтобы обновить отображаемые данные, выполните AdoQuery1.Refresh; (если, вдруг, это не поможет, тогда AdoQuery1.Close; AdoQuery1.Open; )
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Type mismatch in expression SlavaSH БД в Delphi 24 02.05.2012 09:19
Ошибка run-time error 13 Type mismatch в VBA Kracozebr Microsoft Office Word 9 19.07.2010 16:10
Различие смысла в type "type" Alex Cones Общие вопросы Delphi 5 18.04.2010 23:57
без юнита процедуры работают а с юнитом пишет "type mismatch" fawr Помощь студентам 1 08.11.2009 02:53
Эта надоедливая ошибка: Type mismatch expresion :( artemavd БД в Delphi 8 25.06.2009 17:21