powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Случайный запрос к базе данных
23 сообщений из 23, страница 1 из 1
Случайный запрос к базе данных
    #38149217
avicena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть база данных "Вопросы" надо создать запрос к ней на случайный выбор записей, в запросе всё работает
SELECT TOP 4 *
FROM Вопрос
ORDER BY RND(КодВопросы)

Как только перевожу на форму в vb.net - так выдаёт одни и теже значения и рандомно не выбирает.
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Me.ВопросTableAdapter.FillBy_Случай(Me.ВопросыDataSet.Вопрос)

End Sub

Не могу разобраться почему не меняются значения.
Заранее спасибо.
...
Рейтинг: 0 / 0
Случайный запрос к базе данных
    #38149253
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
База какая?
...
Рейтинг: 0 / 0
Случайный запрос к базе данных
    #38149332
avicena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Access
...
Рейтинг: 0 / 0
Случайный запрос к базе данных
    #38149341
avicena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос сформирован в - ВопросыDataSet.xsd - VS.net - vb.net
...
Рейтинг: 0 / 0
Случайный запрос к базе данных
    #38149362
qwerty112
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
avicenaВопрос сформирован в - ВопросыDataSet.xsd - VS.net - vb.net
ты эта ... слова "вопрос" и "запрос" - не путаеш ?
...
Рейтинг: 0 / 0
Случайный запрос к базе данных
    #38149371
qwerty112
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
avicenaЕсть база данных "Вопросы" надо создать запрос к ней на случайный выбор записей, в запросе всё работает
Код: sql
1.
2.
3.
SELECT        TOP 4 *
FROM            Вопрос
ORDER BY RND(КодВопросы)


Как только перевожу на форму в vb.net - так выдаёт одни и теже значения и рандомно не выбирает.
Код: vbnet
1.
2.
3.
4.
 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Me.ВопросTableAdapter.FillBy_Случай(Me.ВопросыDataSet.Вопрос)

    End Sub

Не могу разобраться почему не меняются значения.
Заранее спасибо.

>> в запросе всё работает

вот эту фразу, объясните
в Акцессе, при вызове запроса, так ?

зы
код - в теги [ SRC ] !
...
Рейтинг: 0 / 0
Случайный запрос к базе данных
    #38149400
avicena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос сформирован в - ВопросыDataSet.xsd - VS.net - vb.net - прошу прощенья здесь слово не вопрос , а запрос)
Запрос сформирован в - ВопросыDataSet.xsd - VS.net - vb.net - так правильно
...
Рейтинг: 0 / 0
Случайный запрос к базе данных
    #38149433
avicena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
и в Accesse работает и в запросe сформированном в VS
...
Рейтинг: 0 / 0
Случайный запрос к базе данных
    #38149455
qwerty112
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
avicenaи в Accesse работает и в запросe сформированном в VS
давайте ограничимся Акцессом
-откройте БД
-выполните запрос
-сохраните результат куда-нибудь
-закройте БД
-откройте БД
-выполните запрос
-сравните результат с сохранённым, будет отличатся, или будет такой же ?
...
Рейтинг: 0 / 0
Случайный запрос к базе данных
    #38149460
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RND() встроенная ф-я акцесса, работает только в рамках его интерфейса. вы какой провайдер юзаете в программе для доступа к вашей базе?
...
Рейтинг: 0 / 0
Случайный запрос к базе данных
    #38149500
qwerty112
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_OneRND() встроенная ф-я акцесса, работает только в рамках его интерфейса. вы какой провайдер юзаете в программе для доступа к вашей базе?
нет,
RND() - это функция JET, которая "чисто случайно" :), совпадает по написанию с функцией VBA - RND()
...
Рейтинг: 0 / 0
Случайный запрос к базе данных
    #38149514
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwerty112,

ну так я ж про это и говорю, ему надо юзать провайдер соответствующий
...
Рейтинг: 0 / 0
Случайный запрос к базе данных
    #38149527
avicena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plsql
1.
2.
3.
SELECT TOP 3 Вопрос.КодВопросы, Вопрос.Тема, Вопрос.Вопрос, Вопрос.Ответ1, Вопрос.Ответ2, Вопрос.Ответ3, Вопрос.Прав1, Вопрос.Прав2, Вопрос.Прав3
FROM Вопрос
ORDER BY Rnd(Тема);


этот запрос сделан в Accesse - начинается всегда с одних и тех же значений потом меняет, но при открытии всегда одно и то же.
Provider=Microsoft.Jet.OLEDB.4.0;
подключение с помощью мастера
...
Рейтинг: 0 / 0
Случайный запрос к базе данных
    #38149535
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуйте через DAO
...
Рейтинг: 0 / 0
Случайный запрос к базе данных
    #38149540
avicena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plsql
1.
ORDER BY Rnd(Тема);

написал не правильно
Код: plsql
1.
ORDER BY Rnd(КодВопросы)

но ничего не меняется
...
Рейтинг: 0 / 0
Случайный запрос к базе данных
    #38149542
qwerty112
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
avicenaэтот запрос сделан в Accesse - начинается всегда с одних и тех же значений потом меняет, но при открытии всегда одно и то же.

вооот ! :))

вообщем, если бы дело происходило в Акцессе, то выход - очень простой :
- пользовательская функция для сортировки, в которой делается переинициализация генератора случ.чисел - randomize

а так, как вы ограниченны только методами JET, такой вариант вам не подойдёт

но есть "костыль" :)
Код: sql
1.
SELECT TOP 1 * FROM myTable ORDER BY Rnd(-10000000*TimeValue(Now())*[id])


9062202
...
Рейтинг: 0 / 0
Случайный запрос к базе данных
    #38149550
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я вот не помню, есть в аксессе тип guid?
...
Рейтинг: 0 / 0
Случайный запрос к базе данных
    #38149558
qwerty112
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AntonariyЯ вот не помню, есть в аксессе тип guid?
тип - есть,
но НЕТ функции получения нового значения, что бы можно было сделать так, как в МС СКЛ
Код: sql
1.
order by newid()
...
Рейтинг: 0 / 0
Случайный запрос к базе данных
    #38149559
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Случайный запрос к базе данных
    #38149566
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Microsoft Access также предоставляет поле GUID типа «Счетчик». Можно использовать этот тип поля первичного ключа таблицы и позволить Microsoft Access автоматически создает каждый новый идентификатор GUID. Идентификаторы GUID случайным образом создаются ядром базы данных Microsoft Jet каждый раз при вставке записи в таблицу, используя сложный алгоритм, который позволит избежать дубликатов по всем базам данных в мире до 3400 AD год.
...
Рейтинг: 0 / 0
Случайный запрос к базе данных
    #38149576
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот при создании теста копировать id вопросов в табличку с таким полем и сортировать по нему.
...
Рейтинг: 0 / 0
Случайный запрос к базе данных
    #38149603
avicena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо! qwerty112, решение правда пригодилось - костыль работает!)))
...
Рейтинг: 0 / 0
Случайный запрос к базе данных
    #38149618
avicena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
qwerty112,
Скобки убрать пришлось и заработало)
Код: plsql
1.
2.
3.
SELECT        TOP 3 *
FROM            Вопрос
ORDER BY Rnd(- (10000000 * TimeValue(NOW()) * КодВопросы))
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Случайный запрос к базе данных
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]