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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.06.2012, 18:16   #1
Ericnex
Форумчанин
 
Регистрация: 07.04.2010
Сообщений: 218
По умолчанию Ошибка определения типов опять

Вчера пробовал устранить проблему так и не решается выдает программа ошибку как на рисунке (Type mistmatch in expression). Уже не знаю в чем проблема. Все типы проверил все правильно. Подсобите еще кто чем сможет.
DM.Query2.DisableControls;
DM.Query2.SQL.Clear;
DM.Query2.SQL.Add('insert into NoteBook (Nomer_m, Type_proc, Takt_proc, Oper_pam, HDD, Video_sys, Videopamiat, Diagonal, Privod, Ves, Id_pr) values (:Nomer_m, :Type_proc, :Takt_proc, :Oper_pam, :HDD, :Video_sys, :Videopamiat, :Diagonal, :Privod, :Ves, :Id_pr)');
DM.Query2.ParamByName('Id_pr').AsIn teger:=DM.Query1.FieldByName('Id_pr ').AsInteger;
DM.Query2.ParamByName('Nomer_m').As String:=Edit1.Text;
DM.Query2.ParamByName('Type_proc'). AsString:=ComboBox1.Text;
DM.Query2.ParamByName('Takt_proc'). AsInteger:=strtoint(Edit3.Text);
DM.Query2.ParamByName('Oper_pam').A sInteger:=strtoint(Edit4.Text);
DM.Query2.ParamByName('HDD').AsInte ger:=strtoint(Edit5.Text);
DM.Query2.ParamByName('Video_sys'). AsString:=ComboBox2.Text;
DM.Query2.ParamByName('Videopamiat' ).AsInteger:=Strtoint(Edit7.Text);
DM.Query2.ParamByName('Diagonal').A sInteger:=strtoint(Edit8.Text);
DM.Query2.ParamByName('Privod').AsS tring:=ComboBox3.Text;
DM.Query2.ParamByName('Ves').AsInte ger:=strtoint(Edit10.Text);
DM.Query2.ExecSQL;
DM.Query2.Close;
DM.Query2.SQL.Clear;
DM.Query2.SQL.Text:='Select * from NoteBook where (Id_pr=:Id_pr)';
DM.Query2.Open;
DM.Query2.EnableControls;
Изображения
Тип файла: jpg Безымянный.jpg (12.1 Кб, 126 просмотров)
Ericnex вне форума Ответить с цитированием
Старый 02.06.2012, 18:31   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

1. Покажи содержимое DM.Query2.SQL.Text после присваивания перед ExecSQL
2. Покажи структуру таблицы
3. Укажи какая СУБД
4. И вообще BDE знатно умеет глючить
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 02.06.2012, 18:47   #3
Ericnex
Форумчанин
 
Регистрация: 07.04.2010
Сообщений: 218
По умолчанию

1) DM.Query2.SQL.Text:= 'Select*from NoteBook where id_pr=:id_pr'
2) Схема таблицы на рисунке
3) СУБД Paradox7
4) Здесь полностью согласен, уже не первый раз сталкиваюсь с данной проблемой
Изображения
Тип файла: png Безымянный1.png (7.8 Кб, 61 просмотров)
Ericnex вне форума Ответить с цитированием
Старый 02.06.2012, 18:54   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

1. Мне нужно содержимое поля Text после всех присваиваний перед командой DM.Query2.ExecSQL. И взять его нужно не из кода проги и не то, что показано, а во время выполнения программы. Ставьте точку останова на команду DM.Query2.ExecSQL и во время остановки выдерните то, что я прошу

2. Предварительно могу предположить, что в одно из SHORT-полей пытаетесь засунуть слишком большое число (допустимый интервал значений от -32 768 до +32 767 )

ADD

В коде указано поле Nomer_m, а в структуре такого нет, зато есть Model_n. Не в этом собака зарыта?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 02.06.2012 в 19:28.
Аватар вне форума Ответить с цитированием
Старый 02.06.2012, 20:19   #5
Ericnex
Форумчанин
 
Регистрация: 07.04.2010
Сообщений: 218
По умолчанию

С числами все в порядке и с названием поля тоже я просто другую подобную таблицу взял. Насчет ExexSQL не до конца понял: это делается с помощью клавишы F7 или по-другому объясните пошагово.
Ericnex вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка определения типов Ericnex БД в Delphi 1 01.06.2012 14:25
Опять ошибка(Pascal) k4k7u3 Помощь студентам 1 01.02.2012 19:12
Операторы определения данных всех типов Илья555 Помощь студентам 0 26.04.2011 18:47
Опять шаблоны... Можно ли написать реализацю для некоторых типов отдельно? TwiX Общие вопросы C/C++ 3 19.09.2010 15:13
Опять ошибка ddd329 Общие вопросы C/C++ 0 14.06.2010 22:39