Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/18: Рейтинг темы: голосов - 18, средняя оценка - 5.00
2 / 2 / 1
Регистрация: 30.09.2009
Сообщений: 77

Несоответствие типов данных в выражении условия отбора

11.01.2012, 20:39. Показов 3289. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
26
27
28
29
30
31
32
33
form1.ADOQuery.SQL.Clear;
tabel:=form1.EdtTabAdd.Text;
fam:=form1.EdtFamAdd.Text;
nam:=form1.EdtNameAdd.Text;
pnam:=form1.EdtPnameAdd.Text;
s:='INSERT INTO spisok (NTab,RFam,IName,FName) VALUES ('+
   ''''+tabel+''''+','''+fam+''','''+nam+''','''+pnam+''')'  ;
form1.ADOQuery.SQL.Add(s);
form1.ADOQuery.ExecSQL;
 
 
form1.ADOQuery.SQL.Clear;
s:='SELECT * FROM spisok WHERE NTab='+tabel;
form1.ADOQuery.SQL.Add(s);      showmessage(s);
form1.ADOQuery.Open;
 
form1.ADOQuery.First;
    new(RecInfa);
    RecInfa^.ntab:=form1.ADOQuery.FieldValues['ntab'];
    If not VarIsNull(form1.ADOQuery.FieldValues['inn']) then
         RecInfa^.inn:=form1.ADOQuery.FieldValues['inn'];
    If not VarIsNull(form1.ADOQuery.FieldValues['work']) then
         RecInfa^.work:=form1.ADOQuery.FieldValues['work'];
    RecInfa^.Rfam:=form1.ADOQuery.FieldValues['Rfam'];
    RecInfa^.iname:=form1.ADOQuery.FieldValues['iname'];
    RecInfa^.fname:=form1.ADOQuery.FieldValues['fname'];
    If not VarIsNull(form1.ADOQuery.FieldValues['bday']) then
         RecInfa^.bday:=form1.ADOQuery.FieldValues['bday'];
    li :=form1.lvSpisok.Items.Add();
    li.Caption:=Recinfa.iname[1]+'.'+Recinfa.fname[1]+'.'+Recinfa.Rfam;
    li.Data:=RecInfa;
 
form1.ADOQuery.Close;
ошибка вылетает вот на этой строке:
Delphi
1
form1.ADOQuery.SQL.Add(s);      showmessage(s);
почему так?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.01.2012, 20:39
Ответы с готовыми решениями:

Несоответствие типов данных в выражении условия отбора
Добрый вечер! У меня возникает такая ошибка (Несоответствие типов данных в выражении условия отбора) когда начинаю компилировать программу....

Несоответствие типов данных в выражении условия отбора
Несоответствие типов данных в выражении условия отбора проблема с поиском по БД с буквами все норм работает а как только введешь цифру...

Несоответствие типов данных в выражении условия отбора
Доброго вечера всем присутствующим. Не подскажете в чём проблема? Код записан таким образом: Form2.ADOQuery1.Close; ...

2
86 / 86 / 24
Регистрация: 27.02.2010
Сообщений: 397
11.01.2012, 21:12
На мой взгляд кавычек в строке 13 не хватает.

Вот здесь про параметры уже советовал.
Экранирование кавычек
0
2 / 2 / 1
Регистрация: 30.09.2009
Сообщений: 77
12.01.2012, 21:52  [ТС]
все оказалось намного проще, это мой косяк, NTab :integer, а у меня случайно в tabel левый символ записался


еще одна проблемка возникла подобная))
Добавлено через 23 часа 1 минуту
Delphi
1
2
3
4
5
6
7
8
   form1.ADOQuery.SQL.Clear;
   s:='UPDATE Spisok SET inn='+''''+inn+''''+', '+'work='+''''+
   work+''''+', '+'Rfam='+''''+fam+''''+', '+'IName='+''''+
   nam+''''+','+'fname='+''''+pnam+''''+', '+'bday='+''''+
   bday+''''+' WHERE NTab='+tabel;
   form1.ADOQuery.SQL.Add(s);
   form1.ADOQuery.ExecSQL;
   form1.ADOQuery.Close;
вот итоговая строка запроса, все поля кроме ntab - string, ntab:integer;

UPDATE Spisok SET inn='gggg', work='jjj', Rfam='zxc', IName='zss', fname='zss', bday='ggg' WHERE NTab=123

пишет что ошибка синтаксиса, но я ее не вижу
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.01.2012, 21:52
Помогаю со студенческими работами здесь

Несоответствие типов данных в выражении условия отбора
Form2.tmp0:= Form2.ADOQuery1.FieldByName('kod').AsString; l:=StrToInt(Form2.tmp0); with Form2.ADOQuery2 do begin close; ...

Несоответствие типов данных в выражении условия отбора
Сабж, что не соответствует я так и не понял, дебагер мне все показал отлично.MSAccess + ado Таблица Книга учета: ID записи - счетчик ...

Несоответствие типов данных в выражении условия отбора
Доброго времени суток! Делаю отбор данных по дате. БД Аксесс, отбор через делфи. тип поля Date_costs - Дата/Время. На форме есть...

Несоответствие типов данных в выражении условия отбора
Похожие темы уже были, я пыталась сделать то, что там советовали, но ничего не помогло. Есть БД в Access, пытаюсь написать код, который бы...

Delphi DBGrid Несоответствие типов данных в выражении условия отбора
Добрый день. Столкнулся с такой маленькой пустяковой проблемой. Когда делаю поиск через SQL запрос выводит (несоответствие типов данных в...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru