Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
Рыба

Необычайная загадка в SQL запросе

01.05.2011, 23:39. Показов 1432. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Люди верните веру в програмирование. (Необычайная загадка в SQL запросе)

Написал большую прогу в которой есть маленьки SQL запрос. Без него вся программа никому не нужна.
Приведу пример (программа на VB6.0).
Есть SQL сервер. На нем две таблицы АА и ВВ.
АА ВВ
а1(char) ав(char) ав(char) в1(numeric)
1 а а 120
2 в в 328
3 с с 2560
4 д д 23000

Делаем запрос:
Visual Basic
1
2
3
4
5
6
7
8
rst.Open "select * from АА where а1 = '" & strА1 & "'"
Set Аdodc1.Recordset = rst
strB1=Аdodc1.Recordset!ав
rst.Close
rst.Open "select * from ВВ where ав = '" & strВ1 & "'"
Set Adodc1.Recordset = rst
strС1=Аdodc1.Recordset!в1
PublicModule.rst.Close
Результат:
strА1=1 strC1=12
strА1=2 strC1=328
strА1=3 strC1=256
strА1=4 strC1=23
ПОЧЕМУ strC1 без последних нулей???????????????????
(strC1 обявлял как string,variant, integer- не чего не помогает)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.05.2011, 23:39
Ответы с готовыми решениями:

Дата в SQL запросе.
Privet Vsem Podskajitye pojalusta u minya vot takoy vapros v sql database 12/29/1899 8:00:00 PM es takoy zapis kak mnye uznat chas...

ПОмогите преодолеть время в SQL-запросе!!!
Такая ситуация: в таблице есть поле Date , в котором хранятся значения даты в ПОЛНОМ формате (т.е. дата + время, и это время разное). И...

сложное условие отбора в запросе SQL
Пользователь в програме строит условие отбора для запроса. ТОесть выбирает поле потом условие потом вводит значение потом вибирает OR или...

10
Messir
02.05.2011, 03:22
1. А зачем вообще ты используешь Adodc1? Ведь все равно к рекордсету rst обращаешься фактически напрямую...

2. Процедура вывода результата где? Или ты в вотчах смотришь?

3. Recordset!в1 - это не наш метод
Resordset.Fields('в1') - гораздо универсальнее и практичнее...

4. Зачем разбивать запрос на два? Почему бы просто JOIN не использовать?
Рыба
02.05.2011, 21:03
1. По поводу Adodc1 - согласен, но я использую Adodc1 еще в одном случае.
2.Смотрю результат в режиме отладки.
3.По поводу Recordset кто как привык Resordset.Fields или Recordset! - разницы в результате нет
4.В программе использую 5 запросов по разным таблицам с разными параметрами, поэтому чтобы не запутаться использую разные запросы.
5. САМОЕ ГЛАВНОЕ: ПОЧЕМУ НЕТ ПОСЛЕДНИХ НУЛЕЙ????????????????!!!!!!!!!
Messir
02.05.2011, 21:16
по поводу нулей - возможно, специфические глюки ADO, связанные с форматированием... Попробуй преобразовывать эти числа во что-нибудь другое непосредственно в запросе.
Кстати, когда те же запросы делаешь не из VB - все нормально проходит или та же фигня?
Рыба
03.05.2011, 21:25
Если делать в SQL Explorer все нормально! Самое интересное делал без Adodc и уже просто ссылка Recordset.Fields('в1') без нулей!
Рыба
03.05.2011, 21:26
Если делать в SQL Explorer все нормально! Самое интересное делал без Adodc и уже просто ссылка Recordset.Fields('в1') без нулей!
Рыба
03.05.2011, 21:26
Если делать в SQL Explorer все нормально! Самое интересное делал без Adodc и уже просто ссылка Recordset.Fields('в1') без нулей!
2 / 2 / 1
Регистрация: 18.10.2007
Сообщений: 1,748
04.05.2011, 14:34
Попробуй изменить тип данных на Int.
0
Рыба
04.05.2011, 20:44
Где изменить тип данных? На SQl сервере я не имею права менять.
Messir
04.05.2011, 21:41
В запросе CONVERT'ом или CAST'ом приводи к int'у
Рыба
07.05.2011, 12:10
Спасибо всем кто пытался мне помочь!!!!
Подумал, подумал и сделал все через одно место.
Тупо но зато работает!

rst.Open 'select * from АА where а1 = '' & strА1 & '''
strB1=rst!ав
rst.Close
rst.Open 'select * from ВВ where ав = '' & strВ1 & '''
strС1=rst!в1
rst.Close

Met1:
rst.Open 'select * from ВВ where в1 = '' & strC1 & '''
if strB1<>rst!aв then
strС1=strС1 & '0'
goto Met1
end if

В итоге получаю strС1 со всеми нулями.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.05.2011, 12:10
Помогаю со студенческими работами здесь

Не получается ввести диапазон даты в SQL запросе
Мне необходимо вывести список прошедших обучения клиентов за заданный период,который необходимо вводить через текстовые поля. Знаю как...

Как вместо названия таблицы в sQL-запросе можно подставить переменную, данное название содержащую?
Проблема такая. Каким образом вместо названия таблицы в sQL-запросе можно подставить переменную, данное название содержащую. Заранее...

Как в SQL запросе сделать выбор даты по конкретному месяцу и дню и для любого года?
Как в эскюэльном запросе сделать выбор даты по конкретному месяцу и дню и для любого года??? т.е. кпримеру чтоб получить список дней...

Ошибка "неверное завершение SQL-предложения" в простом SQL запросе
SELECT d.DEPARTMENT_ID, d.DEPARTMENT_NAME, e.EMPLOYEE_ID, e.LAST_NAME FROM employees AS e LEFT JOIN departments AS d...

if в SQL-запросе
формирую в ADOQuery SQL-запрос в котором нужно представить два поля НОМЕР и ДАТА в формате &quot;НОМЕР от ДАТА&quot; через переменную и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru