Страница: 1 | 2 |
Вопрос: SQL :(
Добавлено: 24.08.06 15:55
Автор вопроса: Виталий51 | Web-сайт:
каков алгоритм перебора записей в дб по одной записи
Например: Есть поля фамилия, имя, id
Как перебирать по обной записи, присваивая id по-порядку (порядковому номеру записи, например)?
Содержание полей не известно
Ответы
Всего ответов: 23
Номер ответа: 1
Автор ответа:
Виталий51
ICQ: 224290361
Вопросов: 8
Ответов: 50
Web-сайт:
Профиль | | #1
Добавлено: 24.08.06 15:58
БД Access
Номер ответа: 2
Автор ответа:
Виталий51
ICQ: 224290361
Вопросов: 8
Ответов: 50
Web-сайт:
Профиль | | #2
Добавлено: 25.08.06 20:14
SELECT ом можно это сделать?
Номер ответа: 3
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #3
Добавлено: 25.08.06 23:05
Можно
Номер ответа: 4
Автор ответа:
Виталий51
ICQ: 224290361
Вопросов: 8
Ответов: 50
Web-сайт:
Профиль | | #4
Добавлено: 26.08.06 20:33
в VB есть возможность использовать Limit как в "мускуле"? например остановиться на третьей записи?
и узнать количество записей в БД?
Номер ответа: 5
Автор ответа:
Виталий51
ICQ: 224290361
Вопросов: 8
Ответов: 50
Web-сайт:
Профиль | | #5
Добавлено: 26.08.06 20:34
ссылочку на хорошую книжку сможешь сбросить VB & SQL?
Спасибо заранее
Номер ответа: 6
Автор ответа:
Виталий51
ICQ: 224290361
Вопросов: 8
Ответов: 50
Web-сайт:
Профиль | | #6
Добавлено: 26.08.06 20:56
всмысле SELECT COUNT, какие особенности запроса в VB?
Номер ответа: 7
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #7
Добавлено: 26.08.06 21:38
Можно.
Именно Limits нет, но есть различные способы, отличаются своей сложнойстью и скоростью.
Но что-то подсказывает мне, что не нужны они тебе.
Можно.
Не могу ссылку сбросить я.
Особенностей нет никаких, как везде работает это.
Номер ответа: 8
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #8
Добавлено: 26.08.06 21:44
Вообще попробуй внятно объяснить что ты хочешь сделать.
Не нужно говорить, как ты это хочешь сделать, говори что ты хочешь сделать.
Я уверен, по функциональности твоей прогарммы сложность SQL-запросов не выходит за рамки элементарных запросов, но ты почему-то хочешь сделать все по-своему с наворочеными SQL-запросами, которые только уменьшат быстродействие...
Номер ответа: 9
Автор ответа:
Виталий51
ICQ: 224290361
Вопросов: 8
Ответов: 50
Web-сайт:
Профиль | | #9
Добавлено: 26.08.06 23:23
В имеющейся БД Access есть таблица(ы), содержащая(е) несколько полей, одно из которых пустое
1. Нужно пронумеровать по-порядкуовому номеру записи (1;2;3 и т.д.) в каждое пустое поле
2. Занести из одной из таблиц значения первого поля в "выпадающий список"
3. Знать сколько записей в первой таблице (может увеличиваться и уменьшаться).
примерно это
Номер ответа: 10
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #10
Добавлено: 27.08.06 03:17
Зачем тебе нумеровать записи?
Первичные ключи в БД есть?
Что делать при удалении данных из середины списка? Каким образом перенумеровывать элементы?
Элементарно.
Делаешь Select из БД, перебираешь все записи, добавляешь их в список.
Делаешь запрос
SELECT COUNT(*) FROM [TableName]
Конкретная реализация всего этого зависит от того, какой инструментарий ты используешь.
Номер ответа: 11
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #11
Добавлено: 27.08.06 14:39
http://www.vbnet.ru/samples/showgroup.aspx?id=14
Номер ответа: 12
Автор ответа:
Виталий51
ICQ: 224290361
Вопросов: 8
Ответов: 50
Web-сайт:
Профиль | | #12
Добавлено: 27.08.06 18:02
нет, первичных ключей небыло
перенумеровывать не придется
Номер ответа: 13
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #13
Добавлено: 28.08.06 00:49
главный вопрос - зачем тебе нумеровать в БД записи по порядку?
Если ты хочешь просто выбрать все записи и пронумеровать, делаешь запрос на Select, перебираешь все записи по очереди, и для каждой записи делаешь запрос на Update, соответственно увеличивая значение так называемого "пустого поля".
Но это абсурд, так никто не делает.
Что, к примеру, если я удалю запись из середины? Нумерация твоя к черту полетит.
Номер ответа: 14
Автор ответа:
Виталий51
ICQ: 224290361
Вопросов: 8
Ответов: 50
Web-сайт:
Профиль | | #14
Добавлено: 28.08.06 01:00
да, я проще сделал - первичные ключи в таблицы влепил
а вот с SELECT COUNT чего-то не очень запрос удается....
может Dcount?
или надо что-то типа
Dim db1 as Database
Dim rs1 as recordset
Set db1 = CurrentDB
Set rs1 = db1.OpenRecordset("SELECT Sum.......
?
Номер ответа: 15
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #15
Добавлено: 28.08.06 01:14
Извини, насчет того, как сделать сие с ADO не знаю - никогда не приходилось работать с ним.
Вобщем, тебе нужно выполнить один скалярный запрос - "SELECT COUNT(*) FROM TableName" - вернется единственное значение, которое и будет являться количеством строчек.
В ADO .NET это делается функцией ExecuteScalar, как в ADO - не знаю.