![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
insertSql [D7, MySQL]
ilya_ae © (2007-07-02 23:29:00)Добрый день.Использую компонент MyDac и для компонента MyQuery пишу такой запрос.
INSERT INTO arch_tariff
(user_name, tariff_id, modif_date, tariff_id_old)
VALUES
(:user_name, :tariff_id, :modif_date, :tariff_id_old)
После сохранения данных присваиваю значения, но ничего в таблицу не попадает
dmBase.insArch.Params.ParamValues['user_name']:=fmBard.user_name2.text;
dmBase.insArch.Params.ParamValues['tariff_id']:=new_t;
dmBase.insArch.Params.ParamValues['modif_date']:=Date;
dmBase.insArch.Params.ParamValues['tariff_id_old']:=old_t;
Где допускаю ошибку? Заранее спасибо за советы.
Плохиш (2007-07-03 11:45:00) [1]
> ilya_ae (03.07.07 11:40) [15]
шапку забрать не забуть...
ilya_ae (2007-07-03 11:40:00) [2]"закрывать за отказ сообщать исходные данные". - какие нужны еще данные?
кто делает то? в зеркало давно смотрел? - не хами, было сказано что вы хотите узнать то что вообще никак не влияет на суть вопроса.
Событие точно происходит, даже поставив на кнопку, ничего не происходит.
Ладно, закрыли тему. Спасибо, смотрю вам делать нечего как и мне. Удачи.
sniknik (2007-07-03 11:35:00) [3]блин... надо бы ввести меру модерирования - "закрывать за отказ сообщать исходные данные".
с удовольствие бы пользовался этим пунктом....
sniknik (2007-07-03 11:32:00) [4]> MyTable.AfterPost - сюда не важно какие данные попали,
раз неважно, и раз проблему видиш в запросе, то зачем вообще AfterPost (который неизвестно еще происходит или нет)? почему не сделать проверку "проблемного" запроса по нажатию кнопки например (событие гарантировано произойдет если нажать).
> Не делайте пож-та из мухи слона.
кто делает то? в зеркало давно смотрел?
> Интересует как правильно передать переменные в MyQuery?
то что показано относительно передачи переменных то уже правильно.
> Если вы сами разбираетесь, то этой информации для вас должно быть предостаточно.
еще раз. не надо судить за других, чего им достаточно, а чего нет. знать в каком куске кода ошибка можно только после ее обнаружения в нем. и если ты знаеш одно то знаеш и другое. зачем тогда вообще вопрос?
Плохиш (2007-07-03 11:30:00) [5]
> ilya_ae (03.07.07 11:28) [11]
Пошёл третий круг :-( Ты продолжай, продолжай... хотя для завершения твоей программы нехватает пары миллиардов обезьян...
ilya_ae (2007-07-03 11:28:00) [6]insArch это переименнованый MyQuery, в нем и есть этот запрос и для него и передаются переменные
INSERT INTO arch_tariff
(user_name, tariff_id, modif_date, tariff_id_old)
VALUES
(:user_name, :tariff_id, :modif_date, :tariff_id_old) ;
и на MyQuery.Execute ничего не происходит, даже ошибки никакой.
ЮЮ (2007-07-03 11:18:00) [7]> Где ты даешь команду на выполнение запроса? Типа MyQuery.ExecSQL;
> или что-то подобное.
в [6]:
dmBase.insArch.Execute;
правда, фиг его знает, что это за метод в загадочных классах MyDac и MyQuery
pavel_guzhanov (2007-07-03 11:12:00) [8]Где ты даешь команду на выполнение запроса? Типа MyQuery.ExecSQL; или что-то подобное.
ilya_ae (2007-07-03 11:06:00) [9]MyTable.AfterPost - сюда не важно какие данные попали, но после этого события толжен отработать запрос, который находится в компоненте MyQuery со следующим запросом
INSERT INTO arch_tariff
(user_name, tariff_id, modif_date, tariff_id_old)
VALUES
(:user_name, :tariff_id, :modif_date, :tariff_id_old)
и для него надо передать значения. Как правильно их передать?
Не делайте пож-та из мухи слона. Интересует как правильно передать переменные в MyQuery? Если вы сами разбираетесь, то этой информации для вас должно быть предостаточно.
Johnmen (2007-07-03 10:40:00) [10]AfterPost чего?
Кто "имеет запрос"?
В конце-то концов, где код??? Полностью про запрос!
ilya_ae (2007-07-03 09:52:00) [11]Код в Delphi который обрабатывается после AfterPost(значения сейчас забиты жестко):
dmBase.insArch.Params.ParamValues['user_name']:='ilya';
dmBase.insArch.Params.ParamValues['tariff_id']:=12;
dmBase.insArch.Params.ParamValues['modif_date']:=Date;
dmBase.insArch.Params.ParamValues['tariff_id_old']:=24;
dmBase.insArch.Execute;
Интересует почему передавая параметры в MyQuery имеющий следующий запрос:
INSERT INTO arch_tariff
(user_name, tariff_id, modif_date, tariff_id_old)
VALUES
(:user_name, :tariff_id, :modif_date, :tariff_id_old)
Значения в таблицу arch_tariff не попадают. Может не правильно присваиваю переменные для запроса? Или не тот компонент используется для выполнения такого запроса?
sniknik (2007-07-03 08:50:00) [12]> Cobalt © - это в принципе и есть полный код. Что Вас смутило?
тогда ответ "у вас ошибка в" это и есть полный ответ...
кроме запроса есть же еще код в дельфи, тип (объявление) используемого компонента, внесение запроса, исполнение его, связка/параметры компонента... (все в чем может быть ошибка 17)
> Германн © - Почему в переди лошади ...
потому что написано
> После сохранения данных присваиваю значения
сохранение данных для запроса на вставку это его выполнение, а присваивание значений (ему же т.к. кроме него вроде больше ничего не фигурирует) это инициализация параметров... после того как запрос, пустышка, выполнен...??? (последовательность в предложении именно такая, телега впереди)
> данные сохраняются в другую таблицу и только после этого некорые значения должны попасть во временныю таблицу.
а это что за бред? миражи мерещатся? нету этого в показанном запросе/коде, а значит для сего обсуждения/поиска ошибки несущественно.
p.s. вообще, если ты знаеш что(какая информация/кусок кода) нужна для ответа, то значит и ответ знаеш. зачем тогда спрашиваешь?
если не знаеш то приводи полный код/то что просят для уточнений те люди у которых спрашиваешь (раз спросил значит считаешь их более грамотными, почему тогда не веришь что инфы недостаточно?).
Johnmen (2007-07-03 08:47:00) [13]
> После сохранения данных присваиваю значения, но ничего в
> таблицу не попадает
Каких данных и куда?
ilya_ae (2007-07-03 07:43:00) [14]Cobalt © - это в принципе и есть полный код. Что Вас смутило?
Германн © - Почему в переди лошади, данные сохраняются в другую таблицу и только после этого некорые значения должны попасть во временныю таблицу.
Германн (2007-07-03 01:55:00) [15]
> После сохранения данных присваиваю значения, но ничего в
> таблицу не попадает
> dmBase.insArch.Params.ParamValues['user_name']:=fmBard.user_name2.
> text;
> dmBase.insArch.Params.ParamValues['tariff_id']:=new_t;
> dmBase.insArch.Params.ParamValues['modif_date']:=Date;
> dmBase.insArch.Params.ParamValues['tariff_id_old']:=old_t;
>
>
Это, пардон как? Телега впереди лошади?
Cobalt (2007-07-03 01:39:00) [16]попробуй код более полный привести