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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.08.2009, 17:39   #21
reboot
 
Регистрация: 27.08.2009
Сообщений: 9
По умолчанию

слишком мало параметров, требуется два.

аксесс просит два параметра, которые никак не могут дойти с дельфи((
reboot вне форума Ответить с цитированием
Старый 28.08.2009, 19:54   #22
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ужас... если не можете сами разобраться, то сделайте небольшую тестовую базу в Access, скопируйте туда требуемые таблицы (пары строчек данных будет достаточно), запросы. Запакуйте вместе с исходниками своего проекта и выкладывайте. (либо сюда в тему (внизу "Расширенный режим" - "Управление вложениями", либо, если прав пока не достаточно, то на любой файлообменник (zalil.ru, rapidshare.com, ifolder.ru, files.mail.ru или любой другой) и сюда ссылку на скачивание).
Посмотрим, что и кто у Вас требует!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 28.08.2009, 20:36   #23
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

а я предлагаю вообще "ход конем"
использовать внутренний запрос turnover без параметров - взять и обозвать его turnover_wo_range

Код:
SELECT 
  goods.id, 
  count(moving_goods.id_good) AS quant_arrival, 
  sum(moving_goods.price_arrival) AS sum_arrival
FROM moving_goods INNER JOIN goods 
    ON moving_goods.id_good=goods.id
GROUP BY goods.id
ты же все равно потом накладываешь фильтр для всех остальных запросов при объединении с этим запросом
не думаю, что там так много данных что потребовалось в первоначальном запросе отсекать данные чтобы последующие запросы выполнялись быстрее
soleil@mmc вне форума Ответить с цитированием
Старый 30.08.2009, 02:45   #24
reboot
 
Регистрация: 27.08.2009
Сообщений: 9
По умолчанию

та дело не в запросе))

я просто никак не въезжаю, почему параметры из дельфей никак не доходят до аксесса((

либо "неверно или не окончательно заполнены данные параметра", либо "слишком мало параметров"(((

просто если пошагово анализировать указание параметров дельфей и си шарпа, при вызове почти идентичных запросов, то приходим к следующему:

Код:
C#
command.Parameters.Add("@start_date",OleDbType.Date).Value=DateStart.Value;

где
command.Parameters.Add // добавление параметра
("@start_date" // указание имени
,OleDbType.Date // указание типа данных
).Value=DateStart.Value; // указание значения
Код:
Delphi 6

Query.Parameters.AddParameter(); // добавление параметра
Query.Parameters[0].Name:='pstart_date'; // указание имени
Query.Parameters[0].DataType:=ftDateTime; // указание типа данных
Query.Parameters[0].Value:=DatePeriodStart.DateTime; // указание значения
в запросе, посылаемом программой аксессу, в условии where явно присваиватся значения этим параметрам - как в дельфи, так и в си шарпе.

вывод напрашивается:

либо параметры в дельфи передаются не так, как я это понимаю;
либо SQL запрос в дельфи, посылаемый аксессу должен быть иным (маловероятно);
либо в Delphi 6 что-то не так с реализацией передачи параметров при использовании ADOQuery (по идее тоже маловероятно)...

проломал голову полтора дня в пустую(((

можно задачу решить альтернативно, вызвав четыре запроса с разным условием с программы, заполнив массив в памяти и вывев его на экран, но эта методика сильно будет есть ресурс при увеличении объёмов базы. поэтому хочется всё-же кое-какие операции предоставить аксессу решать внутри mdb, а в программе запрашивать конкретный результат.

не знаю что делать... буду биться ещё, ибо выбора нет((
если есть у кого светлые мысли по этому поводу - буду очень благодарен!

Последний раз редактировалось reboot; 30.08.2009 в 02:48.
reboot вне форума Ответить с цитированием
Старый 24.11.2010, 12:15   #25
TaTT DoGG
Форумчанин
 
Аватар для TaTT DoGG
 
Регистрация: 25.04.2008
Сообщений: 476
По умолчанию

пишу так:
Код:
with ADOCommand1 do
begin
CommandText:='INSERT INTO OrderBuy (year) VALUES(:ye)';
Parameters.CreateParameter('ye',ftString,pdInput,255,'test');
Execute;
end;
,]бъет ошибку "Неправильно определен объект Parameter. Предоставлены несовместимые или неполные сведения." как лечить?

12:30

если писать таким же способом не строку, а скажем число, то ошибка не появляется, но в базу записывается значение NULL
Код:
CommandText:='INSERT INTO OrderBuy (model_id) VALUES(:mi)';
Parameters.CreateParameter('mi',ftinteger,pdInput,sizeof(integer),4233);
У нас принято пользоваться кнопочкой "Правка", дабы не плодить посты подряд, друг за другом. Это - флуд.
Читаем правила. Рекомендую. Помимо общих правил форума есть и дополнения к ним в каждом разделе...
Уважайте форумчан, и они ответят вам взаимностью...
Модератор
Life if about choices
Make the right choice

Последний раз редактировалось mihali4; 24.11.2010 в 13:45.
TaTT DoGG вне форума Ответить с цитированием
Старый 24.11.2010, 12:58   #26
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

TaTT DoGG, извините за оффтоп, а чем Вам ADOQuery (новый, отдельный, чтобы избежать возможных проблем, о которых речь шла в предыдущей теме) не угодил?
Код:
ADOQueryForInsert.SQL.Text := 'INSERT INTO OrderBuy (model_id) VALUES(:mi)';
ADOQueryForInsert.Parameters.ParamByName('mi').Value := 'TestString';
ADOQueryForInsert.ExecSQL;
только сейчас заметил - а что, у Вас model_id ключевое поле? А почему String? Так надо?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 24.11.2010, 13:09   #27
TaTT DoGG
Форумчанин
 
Аватар для TaTT DoGG
 
Регистрация: 25.04.2008
Сообщений: 476
По умолчанию

блин... у меня в базе почему-то тип поля другой стоит. ща попробую

жесть, так ступил... ))) имя year зарезирвировано видно. переименовал его в базе на myear и всё заработало. сейчас только попробую со строками ещё

всё, работает. спасибо за наводку ))
Life if about choices
Make the right choice

Последний раз редактировалось TaTT DoGG; 24.11.2010 в 14:06.
TaTT DoGG вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Параметрический запрос с логическим операторм Skolot Microsoft Office Access 8 10.03.2010 15:18
Преобразование SQL-запроса в Параметрический запрос oblachko БД в Delphi 3 05.06.2009 19:55
запрос ссылается на несвязанный с ним запрос kolebatel SQL, базы данных 0 11.06.2008 12:50
параметрический запрос с частью слова в качестве параметра yulia БД в Delphi 6 09.05.2008 20:27
Запрос Инночка БД в Delphi 1 01.05.2008 23:46