|
Lolka1996 2 / 2 / 1 Регистрация: 27.05.2015 Сообщений: 78 |
||||||||
|
1 |
||||||||
|
19.11.2015, 00:41. Показов 2208. Ответов 3 Метки нет (Все метки)
Help.. Ошибка тут
Не может сохранить. Как это пофиксить?
__________________
0 |
|
Супер-модератор 8781 / 2532 / 144 Регистрация: 07.03.2007 Сообщений: 11,873 |
|
|
19.11.2015, 01:03 |
2 |
|
Lolka1996, а почему вы не используете запрос? я тут почитал, причин может быть море… попробуйте как вариант всю эту кучу закомментировать и добавлять по небольшому количеству, чтобы выяснить, какие именно данные не устраивает вашу конструкцию… и почему вы не используете методы AsString, AsInteger… чтобы указать тип данных… еще нашел как вариант — «обычно это связанно с несоответствием типов»… просто у вас так все громоздко, что ну просто страшно…
1 |
|
2 / 2 / 1 Регистрация: 27.05.2015 Сообщений: 78 |
|
|
19.11.2015, 01:16 [ТС] |
3 |
|
Lolka1996, а почему вы не используете запрос? я тут почитал, причин может быть море… попробуйте как вариант всю эту кучу закомментировать и добавлять по небольшому количеству, чтобы выяснить, какие именно данные не устраивает вашу конструкцию… и почему вы не используете методы AsString, AsInteger… чтобы указать тип данных… еще нашел как вариант — «обычно это связанно с несоответствием типов»… просто у вас так все громоздко, что ну просто страшно… xD Добавляет то он все данные он сохранить не может. Попробую указать типы может получиться Добавлено через 6 минут
Lolka1996, а почему вы не используете запрос? я тут почитал, причин может быть море… попробуйте как вариант всю эту кучу закомментировать и добавлять по небольшому количеству, чтобы выяснить, какие именно данные не устраивает вашу конструкцию… и почему вы не используете методы AsString, AsInteger… чтобы указать тип данных… еще нашел как вариант — «обычно это связанно с несоответствием типов»… просто у вас так все громоздко, что ну просто страшно… Указал типы все заработало. Спасибо)
0 |
|
Супер-модератор 8781 / 2532 / 144 Регистрация: 07.03.2007 Сообщений: 11,873 |
|
|
19.11.2015, 10:02 |
4 |
|
Lolka1996, это конечно не мое дело, но будь я руководителем проекта, вы бы получили крепкий нагоняй за такой код… это просто ужас какой-то, особенно для саппорта… от меня вам 2 с минусом. Такие операции реализуютс в виде запросов, это раз, с помощью параметров, это два. читабельность кода прежде всего — это три!!!
0 |
|
|
|
|

Возникает ошибка не могу найти решение
, Не могу добавить в базу данные…
- Подписаться на тему
- Сообщить другу
- Скачать/распечатать тему
|
|
|
|
Junior
Рейтинг (т): нет |
При добавлении данных на стадии insert возникает ошибка. В проекте используется библиотека rz rx и ehlib Сообщение отредактировано: DeZik — 03.08.11, 04:59 |
Bas |
|
|
Ошибка какая? |
|
DeZik |
|
|
Junior
Рейтинг (т): нет |
DataSet not edit or insert mode Переключался между видами доступа — 0 эмоций |
|
Fr0sT |
|
|
Есть ли весомая причина не юзать DB controls? |
|
DeZik |
|
|
Junior
Рейтинг (т): нет |
Цитата Fr0sT @ 03.08.11, 06:12 Есть ли весомая причина не юзать DB controls? Точнее про что идет речь — не могу понять Цитата Fr0sT @ 03.08.11, 06:12 Есть ли весомая причина добавлять все поля в дизайн-тайм и обращаться к ним как к объектам вместо dataset.FieldByName? Да есть. Поэтому и возникает вопрос. Интересует вопрос откуда проблема и как решить, а не как изменить всю программу для правильного функционирования данного модуля. ПРИЧЕМ ДОБАВЛЮ. Даже при конструкции
try dm2.ASKLAD_IN.Insert; dm2.ASKLAD_INDATE.AsDateTime:=SKLAD_ADD.DateEdit1.Date; dm2.ASKLAD_INKOL.AsFloat:=SKLAD_ADD.CurrencyEdit1.Value; dm2.ASKLAD_IN.Post; except messagebox(Sklad_add.Handle,’Запись не добавлена’,’Внимание’,0); end; выводит сообщение об ошибке, а пустая запись добавляется. (в D7 ошибка та-же) Сообщение отредактировано: DeZik — 03.08.11, 07:32 |
|
Fr0sT |
|
|
Цитата DeZik @ 03.08.11, 06:56 Точнее про что идет речь — не могу понять Классы вида TDB<control_name> Цитата DeZik @ 03.08.11, 06:56 Интересует вопрос откуда проблема и как решить, а не как изменить всю программу для правильного функционирования данного модуля.
Ой, там «всей программы»-то — две с половиной строчки. Впрочем, дело хозяйское.
IBTable1.Insert; IBTable1SUBJECT.AsString := ‘blabla’; IBTable1.Post; всё ОК. Твой проект запустить нет возможности по причине юзания левых компонент-паков |
|
DeZik |
|
|
Junior
Рейтинг (т): нет |
Цитата Fr0sT @ 03.08.11, 08:06 Ой, там «всей программы»-то — две с половиной строчки. Это вырубка для теста. Цитата Fr0sT @ 03.08.11, 08:06 Твой проект запустить нет возможности по причине юзания левых компонент-паков отключи левые компонент паки — можешь запустить т.к. они за визуальность отвечают, а ее тма не надо. Ib не ставил — однозадачна система. Еще раз акцентирую = нужно найти ошибку и решить проблему, а не переписать всю прогу с «0». Добавлено 03.08.11, 08:51
try dm2.ASKLAD_IN.Insert; except end; try dm2.ASKLAD_IN.Edit; dm2.ASKLAD_INDATE.AsDateTime:=SKLAD_ADD.DateEdit1.Date; dm2.ASKLAD_IN.Post; except end; А дальше как не знаю…. Сообщение отредактировано: DeZik — 03.08.11, 08:51 |
|
Игорь Акопян |
|
|
Поставьте брякпойнты везде, выясните в какой строке таки возникает ошибка. Происходит присваивание в поле, а датасет почему-то вышел или ещё не вошёл в режим редактирования. |
|
DeZik |
|
|
Junior
Рейтинг (т): нет |
Цитата Игорь Акопян @ 03.08.11, 10:09 Поставьте брякпойнты везде, выясните в какой строке таки возникает ошибка. Цитата DeZik @ 03.08.11, 04:58 При добавлении данных на стадии insert возникает ошибка. Цитата Игорь Акопян @ 03.08.11, 10:09 Создайте пустые BeforePost и AfterPost. Это позволит более точно понять место ошибки Все попробовал ничего не помогает, поэтому и обратился сюда |
|
Fr0sT |
|
|
Цитата DeZik @ 03.08.11, 08:10 отключи левые компонент паки — можешь запустить т.к. они за визуальность отвечают, а ее тма не надо. Я про rz, на котором у тебя все лейблы Цитата DeZik @ 03.08.11, 08:10 Это вырубка для теста Если уж делаешь тест, делай его без левых компонентов. Иначе зачем выкладывать проект Цитата DeZik @ 03.08.11, 08:10 Как не странно следующий код работает Edit после Insert ничего не делает, странно, что это работает… Добавлено 03.08.11, 10:22 ADOTable1.Insert; — выдает ошибку «Произошли ошибки во время выполнения многошаговой операции. Проверьте значения всех состояний.» Сообщение отредактировано: Fr0sT — 03.08.11, 10:22 |
|
Игорь Акопян |
|
|
Цитата DeZik @ 03.08.11, 04:58 При добавлении данных на стадии insert возникает ошибка. стадия инсерт это не то что я спросил… поддерживаю выкладку без РЗ |
|
Fr0sT |
|
|
Загуглил, это, судя по всему, у АДО такие заморочки |
|
DeZik |
|
|
Junior
Рейтинг (т): нет |
Цитата Игорь Акопян @ 03.08.11, 10:23 Прямо на строке Insert? Да Цитата Fr0sT @ 03.08.11, 10:15 — выдает ошибку «Произошли ошибки во время выполнения многошаговой операции. Проверьте значения всех состояний.» Не, там все норально и никаких проблем с Цитата Fr0sT @ 03.08.11, 10:27 Загуглил, это, судя по всему, у АДО такие заморочки нет Выложу без RZ завтра Сообщение отредактировано: DeZik — 03.08.11, 10:30 |
|
DeZik |
|
|
Junior
Рейтинг (т): нет |
Вот без украшательств…. |
|
Fr0sT |
|
|
В самом деле, глюк. Пока удалось обнаружить, что проблема в lookup поле CENA |
0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
0 пользователей:
- Предыдущая тема
- Delphi: Базы данных
- Следующая тема
[ Script execution time: 0,1275 ] [ 20 queries used ] [ Generated: 28.01.23, 18:02 GMT ]
← →
TechnoDreamer
(2004-11-02 03:29)
[0]
Собственно прога выдает во время рунтайма следующее сообщение:
«Произошли ошибки во время выполнения многошаговой операции. Проверьте значение всех состояний». Происходит во время рекурсивной функции, насколько я вижу только в тех случаях где рекурсия большая. Я прав? Кто нибуть сталкивался?
Что делать? Может есть какая директива компилятору, типа там, стек увеличить или еще что, которая влияет на это?
Или придется убирать рекурсию? Жалко было бы, такая аккуратная функция получилась :-(((
![]()
![]()
← →
R ©
(2004-11-02 03:58)
[1]
А код привести можно.
![]()
![]()
← →
Defunct ©
(2004-11-02 04:30)
[2]
> «Произошли ошибки во время выполнения многошаговой операции. Проверьте значение всех состояний»
У тебя что русский Delphi? Неужели прямо так и пишет.
![]()
![]()
← →
Fay ©
(2004-11-02 06:36)
[3]
Переделай в цикл.
![]()
![]()
← →
KSergey ©
(2004-11-02 08:19)
[4]
Очеь похоже на сообщение от ADO… Оно используется?
![]()
![]()
← →
TechnoDreamer
(2004-11-02 18:29)
[5]
2R: Код довольно большой и связан с другими кусками.
2Fay: Видимо придется,хотя…
2KSergey: Да, адо используется, подскажешь в связи с чем ошибка?
Вообще, код делает следующее:
Есть дерево (TTreeView) и база на Access через ADO, в дереве хранятся названия категорий (возможны и подкатегории) и элементов, т.е. оно связано с базой (там две таблицы: категории и элементы, одно из полей название категории или элемента).
Рекурсивная функция для удаления категории, т.е. она смотрит, если нет дочерних элементов то удаляется запись в базе, и соответствующий элемент TTreeNode, в противном случае удаляется рекурсивно подкатегории и элементы.
На небольших ветках дерева работает прекрасно, а вот на более больших возникает эта ощибка (2Defunct, да так прям и пишет, это винда пишет, а не дельфи, и судя по постингу KSergey это пишет ADO).
![]()
![]()
← →
TechnoDreamer
(2004-11-02 18:29)
[6]
2R: Код довольно большой и связан с другими кусками.
2Fay: Видимо придется,хотя…
2KSergey: Да, адо используется, подскажешь в связи с чем ошибка?
Вообще, код делает следующее:
Есть дерево (TTreeView) и база на Access через ADO, в дереве хранятся названия категорий (возможны и подкатегории) и элементов, т.е. оно связано с базой (там две таблицы: категории и элементы, одно из полей название категории или элемента).
Рекурсивная функция для удаления категории, т.е. она смотрит, если нет дочерних элементов то удаляется запись в базе, и соответствующий элемент TTreeNode, в противном случае удаляется рекурсивно подкатегории и элементы.
На небольших ветках дерева работает прекрасно, а вот на более больших возникает эта ощибка (2Defunct, да так прям и пишет, это винда пишет, а не дельфи, и судя по постингу KSergey это пишет ADO).
![]()
![]()
← →
KSergey ©
(2004-11-03 12:57)
[7]
Однозначно тут сказать очень сложно.
Советую предпринять след. шаги:
1.Как я понимаю — все делается методами Delete/Post и т.п. Можно перейти на SQL-запросы на удаление/обновление. Во всяком случае эту проблему это решит однозначно.
2.Какая БД используется? Для MS SQL могу рассказать, про другие -не знаю. (к стати, приличные люди сразу это пишут, в вопросе)
3.В любом случае советую почитать все три части от
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=408
![]()
![]()
← →
TechnoDreamer
(2004-11-03 18:46)
[8]
//1.Как я понимаю — все делается методами Delete/Post и т.п. Можно перейти на SQL-запросы на удаление/обновление. Во всяком случае эту проблему это решит однозначно.//
Да, вы правы.
//2.Какая БД используется? Для MS SQL могу рассказать, про другие -не знаю. (к стати, приличные люди сразу это пишут, в вопросе)//
Я говорил:
//Есть дерево (TTreeView) и база на Access через ADO//
![]()
![]()
← →
KSergey ©
(2004-11-04 06:53)
[9]
> Я говорил:
> //Есть дерево (TTreeView) и база на Access через ADO//
Прошу прощения, просмотрел.
Тогда, думаю, приведенная мною ссылка должна помочь — там именно про Access и очень много. (только читать все 3 части)
![]()
![]()
← →
Erik1 ©
(2004-11-04 10:31)
[10]
Вобщето стоит перейти на DOA, это избавить от дополнительной прослойуи в лице ADO и повысит скорость работы. Я советую компоненты diamond www.islamov.com Кое что даже сам правил, но назнаю включил ли он это в свою версию.
![]()
![]()
- Remove From My Forums
Ошибка при выполнении выгрузки данных.
-
Вопрос
-
Доброго времени суток уважаемые представители компании Microsoft, я являюсь системным администратором городской больницы №4 г. Владимира, у нас есть важная медицинская программулина MedBase,
недавно у Вас приобрели новый сервер, ну и решили перенести эту программу на новый сервер, установили бесплатный SQL server 2008 r2 express, саму программу MedBase, вроде все работает но при создании отчета выдает следущую ошибку:
«При выполнении запроса произошла ошибка: Поставщик OLE DE «Microsoft.ACE.OLEDB. 12.0» для связанного сервера «(null)» вернул сообщение «Произошли ошибки во время выполнения многошаговой операции OLE DE. По
возможности, проверьте значения всех состояний OLE DE. Работа не выполнена.» — это ошибка SQL server полюбому вот мне очень хочется ее исправить потому что отчеты не делаются… ПОМОГИТЕЕЕЕЕ-
Перемещено
30 апреля 2013 г. 8:07
sql
-
Перемещено
Ответы
-
-
Помечено в качестве ответа
Иван ПродановMicrosoft contingent staff, Moderator
30 апреля 2013 г. 13:46
-
Помечено в качестве ответа
-
Все решили проблемку: простите за беспокойство … поставщики решили проблему, вот прям только что … в среде SQL выполнить запрос:
EXEC master.dbo.sp_MSset_oledb_prop N’Microsoft.ACE.OLEDB.12.0′, N’AllowInProcess’, 1
GO
EXEC master.dbo.sp_MSset_oledb_prop N’Microsoft.ACE.OLEDB.12.0′, N’DynamicParameters’, 1
GOМне помогло
-
Помечено в качестве ответа
ad_sergeev
30 апреля 2013 г. 11:09
-
Помечено в качестве ответа


s.rar (32,77 Кбайт, скачиваний: 113)

