Форум: "Базы";
Текущий архив: 2007.04.22;
Скачать: [xml.tar.bz2];
ВнизОшибка при выполнении 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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.041 c