Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.04.22;
Скачать: CL | DM;

Вниз

Ошибка при выполнении Sql pfghjcf   Найти похожие ветки 

 
Константин_   (2007-01-31 15:35) [0]

Есть запрос:
select id from kontakt where kontakname="6 7. 7."

используется бд MS Access и ADOQuery
при попытке выполнить данный запрос выдает ошибку:
"[Microsoft][Драйвер ODBC Microsoft Access]Слишком мало параметров. Требуется 1"
Не могу понять в чем дело.


 
Desdechado ©   (2007-01-31 15:42) [1]

как запрос попадаетв в квери?
код:


 
Константин_   (2007-01-31 15:46) [2]

  ADOQuery4.SQL.Clear;
  ADOQuery4.SQl.Add("select id from kontakt where kontakname="""+EditNameK.Text+"""");

и статический пробовал - одна и таже ошибка


 
fd979 ©   (2007-01-31 15:47) [3]

Скорее всего проблема в отсутствии ". Советую использовать #39.

sql.Add("select id from kontakt where kontaktname = " + #39 + "6 7. 7." + #39);


 
Desdechado ©   (2007-01-31 15:48) [4]

> Советую использовать #39.
Снова извращение.

Советую использовать параметры.


 
Константин_   (2007-01-31 15:50) [5]

с параметрами таже фигня


 
fd979 ©   (2007-01-31 15:54) [6]

Можно и параметры. Просто пытался по существу ответить.
Да и кстати есть ли целесообразность использовать параметры в таком простеньком запросе.


 
Константин_   (2007-01-31 15:55) [7]

хотя ошибся,
статический запрос:
select id from kontakt
where kontakname=:p1

Код в программе:
  ADOQuery4.Parameters[0].Value:=EditNameK.Text;
  ADOQuery4.Open;

Ошибка поменялась:
"[Microsoft][Драйвер ODBC Microsoft Access]Слишком мало параметров. Требуется 2"


 
Кщд ©   (2007-01-31 15:57) [8]

fd979 ©   (31.01.07 15:47) [3]
лучше, конечно, через параметры )


 
fd979 ©   (2007-01-31 15:57) [9]

<where kontakname=:p1

Ты уверен, что вписал название поля правильно? Может не kontakname, а kontakTname? Это так на всякий случай


 
Кщд ©   (2007-01-31 15:59) [10]

Desdechado ©   (31.01.07 15:48) [4]
прошу прощения
задумался )

>fd979 ©   (31.01.07 15:54) [6]
>Да и кстати есть ли целесообразность использовать параметры в таком простеньком запросе.
вопрос в том, какова целесообразность их неиспользования )


 
Константин_   (2007-01-31 16:03) [11]

Да уверен, уже и перепроверял несколько раз, просто такой простой запрос и ошибка на ровном месте


 
Desdechado ©   (2007-01-31 16:04) [12]

ID, случайно, не зарезервированное слово?


 
sniknik ©   (2007-01-31 16:04) [13]

> Советую использовать параметры.
и не использовать ADOQuery... :)
а также заменить "кривой" ODBC "прямым" Jet-ом (OLEDB).

и кстати, если бы ошибка была изза отсутствующих кавычек, так что выражение не воспринималось как строка, то ошибка была бы другая - "неверный синтаксис".
тут у него поле скорее не  находится, а т.к. движок Jet зачастую ненайденное воспринимает как параметр (которого в коллекции естественно нет) то ... > "Слишком мало параметров"

в общем делаю ставку на то, что он kontakname коряво написал... сам не знает что за поля в таблице делал.


 
ЮЮ ©   (2007-02-01 05:04) [14]


> а также заменить "кривой" ODBC "прямым" Jet-ом (OLEDB).


Дело скорей в этом, а не в запросах. Поэтому 10 лет назад предпочитал использовать BDE, а не "кривой новомодный" ADO :)



Страницы: 1 вся ветка

Текущий архив: 2007.04.22;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.05 c
2-1175561133
SerJaNT
2007-04-03 04:45
2007.04.22
Присвоить событию свою процедуру


2-1175587878
Novice
2007-04-03 12:11
2007.04.22
Работа с указателями


2-1175605485
FIL-23
2007-04-03 17:04
2007.04.22
Как в вордоский документ вставить код программы?


6-1162118715
0x00
2006-10-29 13:45
2007.04.22
ICS v5; ICS v6


15-1174736919
Kostafey
2007-03-24 14:48
2007.04.22
Порекомендуйте как правильно организовать GUI