nusya24 Опубликовано 10 октября, 2011 Жалоба Поделиться Опубликовано 10 октября, 2011 для доступа к mysql (3.2) использую dbxpress (delphi 7) при выполнения запроса типа select sum(aaa) as bbb from tbl where aaa=15 вылезает сообщение [0x0002]: Insufficient Memory for Operation так же при сипользовании другой версии (midas.dll) библиотеки для доступа к mysql вылезало немного другое сообщение [0x0003]: Invalid Field Type в таблице всего одна запись при использовании count вместо sum - все работает нормально пробовал использовать ado при выполнении вышенаписанного запроса вылазит "Произошла ошибка во время выполнения многошаговой операции. проверьте значения всех состояний" если выполнять запрос через консоль mysql то все нормально выполняется туплю уже пару дней не могу понять в чем дело. Вроде простейший запрос а глючит. Ссылка на комментарий Поделиться на другие сайты Поделиться
NatM Опубликовано 10 октября, 2011 Жалоба Поделиться Опубликовано 10 октября, 2011 @nusya24, поле aaa какого типа? Ссылка на комментарий Поделиться на другие сайты Поделиться
nusya24 Опубликовано 11 октября, 2011 Автор Жалоба Поделиться Опубликовано 11 октября, 2011 (изменено) @nusya24, поле aaa какого типа? тип int пробовал decimal, smallint - та же фигня зато вот что удалось выяснить - если поменять тип поля на char :blink: то функция SUM начинает работать - бред сразу встал еще один вопрос - как сменить тип возвращаемых данных в операторе SELECT, т.е. чтобы не менять в самой базе. Этого я не нашел, поэтому использовал CONCAT, т.к. он возвращает строковые данные select concat(sum(aaa)) as bbb from tbl where aaa=15 и почему такая проблема с типом int? Изменено 11 октября, 2011 пользователем nusya24 Ссылка на комментарий Поделиться на другие сайты Поделиться
NatM Опубликовано 12 октября, 2011 Жалоба Поделиться Опубликовано 12 октября, 2011 А если в BDE Администраторе System->INIT->SHAREDMEMSIZE установить в 4096? Ссылка на комментарий Поделиться на другие сайты Поделиться
nusya24 Опубликовано 12 октября, 2011 Автор Жалоба Поделиться Опубликовано 12 октября, 2011 А если в BDE Администраторе System->INIT->SHAREDMEMSIZE установить в 4096? а причем тут это, я вроде как с mysql работаю через dbxpres а BDE с ними, как я знаю, никак не связан ?????????????? Ссылка на комментарий Поделиться на другие сайты Поделиться
NatM Опубликовано 12 октября, 2011 Жалоба Поделиться Опубликовано 12 октября, 2011 а причем тут это, я вроде как с mysql работаю через dbxpres Прошу прощения - упустила из вида... Ошибка была знакомая, пыталась вспомнить, что я делала, когда возникала у меня... Ссылка на комментарий Поделиться на другие сайты Поделиться
Teddy_Bear Опубликовано 12 октября, 2011 Жалоба Поделиться Опубликовано 12 октября, 2011 (изменено) Похоже всё же aaa содержит не целый тип, а текст '15'. Попробуй его умножить или другую арифметику, если будет ругаться на тип - так и есть. Тогда используй CONVERT. BEGIN TRY {обычно}END TRY BEGIN CATCH {здесь с CONVERT}END CATCH Изменено 12 октября, 2011 пользователем Teddy_Bear Ссылка на комментарий Поделиться на другие сайты Поделиться
nusya24 Опубликовано 12 октября, 2011 Автор Жалоба Поделиться Опубликовано 12 октября, 2011 на другую арифметику не ругается Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти