|
15 / 8 / 1
Регистрация: 19.07.2012
Сообщений: 70
|
||||||
MySql Ado StoredPocedure return @parametr06.11.2012, 17:16. Показов 3449. Ответов 13
Метки нет (Все метки)
Работаю с mysql через ADO, необходимо вызывать хранимую процедуру которая бы возвращала один параметр. Запросы с помощью ADOQuery1.Connection.Execute выполняются без проблем, не получается вытащить параметр [MENTION=91323]res[/MENTION]. Если делать через ADOQuery1.SQL.ADD то все получается но 10500 записей обрабатываются порядка 5 минут, что нереально долго(ощущение, что происходят разрывы). Как можно заставить работать это или сделать с ADOQuery1.SQL.ADD и ADOQuery1.FieldValues[ [MENTION=91323]res[/MENTION]'] чтобы работало побыстрее. Компонент хранимой процедуры не стал использовать т.к. он показался тут сверх излишним. Заранее спасибо.
0
|
||||||
| 06.11.2012, 17:16 | |
|
Ответы с готовыми решениями:
13
Return в mysql есть? ADO+MySQL ADO,MySQL |
|
64 / 64 / 10
Регистрация: 19.10.2009
Сообщений: 234
|
|
| 06.11.2012, 17:59 | |
|
Во первых хотелось бы взглянуть на текст процедуры, во вторых совсем не понятно зачем вы снова делаете запрос после выполнения процедуры
просто делайте Adoquery1.sql.add(Qry); adoquery1.open; и всё можно читать реультат процедуры в самой процедуре в конце обязательно должна быть строка select @res чтоб она что то вернула и почему компонет хранимой процедуры вам показался сверх излишним тоже непонятно
1
|
|
|
15 / 8 / 1
Регистрация: 19.07.2012
Сообщений: 70
|
|
| 07.11.2012, 09:17 [ТС] | |
|
Спасибо. Хорошо, поставил в саму процедуру select @res, а как теперь получить в Делфи то что мы в процедуре выбрали?
0
|
|
|
64 / 64 / 10
Регистрация: 19.10.2009
Сообщений: 234
|
||
| 07.11.2012, 10:20 | ||
|
adoquery1.open; if adoquery1.active and (adoquery1.RecordCount > 0) then переменная := adoquery1.Fields[0].Value;
1
|
||
|
15 / 8 / 1
Регистрация: 19.07.2012
Сообщений: 70
|
|||||||||||
| 07.11.2012, 11:22 [ТС] | |||||||||||
В Делфи в режиме отладки "adoquery1.RecordCount" = 1 и adoquery1.active=True, но adoquery1.Fields=(). В итоге res тоже пусто.
0
|
|||||||||||
|
64 / 64 / 10
Регистрация: 19.10.2009
Сообщений: 234
|
|
| 07.11.2012, 13:10 | |
|
Скинь весь текст хранимой процедуры
1
|
|
|
15 / 8 / 1
Регистрация: 19.07.2012
Сообщений: 70
|
||||||
| 07.11.2012, 13:35 [ТС] | ||||||
0
|
||||||
|
64 / 64 / 10
Регистрация: 19.10.2009
Сообщений: 234
|
|
| 07.11.2012, 14:33 | |
|
вообщем убирай промежуточные записи типа select @Goods_ID просто результат выводится на разных вкладках или как это объяснить. вообщем как тут прочитать не первое значение я не в курсе никогда не приходилось, можешь заменить свои выводы на одну строку типа select @val1, @val2, @val3 и т.д. тогда сможешь получить результат всех переменных
1
|
|
|
15 / 8 / 1
Регистрация: 19.07.2012
Сообщений: 70
|
||||||
| 07.11.2012, 15:03 [ТС] | ||||||
|
Попробовал еще сделать через StoredProcedure, выдает исключение при запуске "неправильно определен объект Parameter предоставлены несогласованные или неполные сведения"
0
|
||||||
|
64 / 64 / 10
Регистрация: 19.10.2009
Сообщений: 234
|
|||||||||||
| 07.11.2012, 15:48 | |||||||||||
Добавлено через 12 минут зачем ты всё пытаешься как то усложнить, определись что должна тебе вернуть процедура напиши в самомо конце процедуры select @val1 as myvalue1, @val2 as myvalue2, @val3 as myvalue3, ... затем
1
|
|||||||||||
|
15 / 8 / 1
Регистрация: 19.07.2012
Сообщений: 70
|
||||||
| 07.11.2012, 16:23 [ТС] | ||||||
|
Благодарю за терпение. Но пока у меня проблема с входными параметрами, при вызове ADOStoredProc1.Open вылазит исключение "IN or INOUT argument 23 for routine for AddGoods is not variable or New Pseudo-variable in BEFORE triger"
0
|
||||||
|
15 / 8 / 1
Регистрация: 19.07.2012
Сообщений: 70
|
||
| 08.11.2012, 16:52 [ТС] | ||
|
0
|
||
|
15 / 8 / 1
Регистрация: 19.07.2012
Сообщений: 70
|
|
| 15.11.2012, 14:34 [ТС] | |
|
Спасибо, разобрался!
Сейчас не могу понять почему с русской кодировкой проблемы в базе. ADOStoredProc1.Parameters[1].Value:= 'Проверка'; В отладчике значение ADOStoredProc1.Parameters[1].Value = ''@>25@:0'" в базе отображается уже как ???????? Пробовал менять в базе кодировку на utf и на ascii. Что-то можно с этим сделать?
0
|
|
|
15 / 8 / 1
Регистрация: 19.07.2012
Сообщений: 70
|
|
| 19.11.2012, 09:22 [ТС] | |
|
Решил проблему использованием ODBC Connector версии 3.51.
0
|
|
| 19.11.2012, 09:22 | |
|
Помогаю со студенческими работами здесь
14
BCB6, ADO, MySQL Delphi7 - ADO - MySQL ADO и подключение к MySQL ADO data driver и mysql Что это isOk(int s),setAge(int g){if(isOk(g){age=g;return true;}else{.;return false;}}.getName(){return name;}? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию.
2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2.
Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники".
В. . .
|
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии.
. . .
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|