Поиск:

Ответ в темуСоздание новой темы Создание опроса
> "Too many variables", Непонятная ошибка 
:(
    Опции темы
Данкинг
Дата 10.4.2007, 20:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Пишу программу, которая считывает инфу из текстового файла с разделителями и затем, создав базу в DBF, загоняет в неё данные. Базу создаю через ADO (точнее - Adoquery). Так вот, при заполнении полей базы строкой вида

Код

query.sql.text:='insert into base values (:par1,:par2,:par3)'
query.Parameters.ParamByName('par1'):='1234'
query.Parameters.ParamByName('par2'):='5467'
query.execsql


возникает указанная ошибка. Переменных всего у меня 24 (... :par24). Причём с небольшими базами (записей 5-10) работает нормально, а вот в базе 100 записей уже глючит. В чём может быть ошибка??


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
DimW
Дата 11.4.2007, 08:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1330
Регистрация: 24.2.2005
Где: Орёл

Репутация: 5
Всего: 44



скорей всего в 5 - 10 записях нет той траблы которая вызывает эту ошибку, а вот в 100 очень даже может быть!
определи на какой строке файла возникает ошибка и внимательно изучи ее.
PM MAIL ICQ   Вверх
Akella
Дата 11.4.2007, 08:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Данкинг, ты же указываешь три параметра
Цитата
(:par1,:par2,:par3)


а передаешь два.
Цитата

query.Parameters.ParamByName('par1'):='1234'
query.Parameters.ParamByName('par2'):='5467'


это нормально?

PM MAIL   Вверх
DimW
Дата 11.4.2007, 11:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1330
Регистрация: 24.2.2005
Где: Орёл

Репутация: 5
Всего: 44



Цитата(Akella @  11.4.2007,  08:33 Найти цитируемый пост)
это нормально?

и точек с запятыми нет, это тоже не нормально....

Цитата(Данкинг @  10.4.2007,  20:03 Найти цитируемый пост)
Переменных всего у меня 24 (... :par24). 

имхо дело не в параметрах, он этот небрежный код только для примера кинул.


PM MAIL ICQ   Вверх
Данкинг
Дата 11.4.2007, 19:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Цитата(DimW @ 11.4.2007,  12:33)
имхо дело не в параметрах, он этот небрежный код только для примера кинул.

Угу, в оригинале число параметров совпадает. smile 

А строка тоже ни при чём: меняли местами строки - та же фигня...


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
skyboy
Дата 11.4.2007, 19:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



Данкинг, вообще насчет инициализации: такая ругань ("слишком много переменных") будет, если не все используемые переменные инициализировать. Может, закралось нечто вроде SQL-инъекции и парсер что-то принимает за параметр, хотя не должен? Скажем, часть строки...
PM MAIL   Вверх
Savek
Дата 12.4.2007, 08:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 355
Регистрация: 10.4.2006
Где: Воронеж

Репутация: 7
Всего: 7



Еще можно погадать на кофейной гуще ... smile 
PM MAIL   Вверх
SergeBS
Дата 12.4.2007, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1111
Регистрация: 10.6.2005
Где: Владимир

Репутация: 11
Всего: 22



Данкинг, 
Заведи уникальное поле. А вообще из АДО с dbf-ками - тормозить будет. Советую перейти на что-то типа TDbf, Halcyon (на torry поройся). 
PM MAIL   Вверх
Данкинг
Дата 12.4.2007, 22:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



В общем, на эту прогу забили (она не нужна оказалась в итоге). Насчёт TDbf - все советуют, но не знаю, насколько он лучше ADO, не пробовал...


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Akella
Дата 13.4.2007, 08:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



ADO - это один большой тормоз при работе с dbf или paradox таблицами, научен опытом  smile  smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0567 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.