Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Работа с данными

Страница: 1 | 2 |

 

  Вопрос: SQL :( Добавлено: 24.08.06 15:55  

Автор вопроса:  Виталий51 | Web-сайт: www.feshin.info | ICQ: 224290361 
каков алгоритм перебора записей в дб по одной записи
Например: Есть поля фамилия, имя, id
Как перебирать по обной записи, присваивая id по-порядку (порядковому номеру записи, например)?
Содержание полей не известно

Ответить

  Ответы Всего ответов: 23  

Номер ответа: 1
Автор ответа:
 Виталий51



ICQ: 224290361 

Вопросов: 8
Ответов: 50
 Web-сайт: www.feshin.info
 Профиль | | #1
Добавлено: 24.08.06 15:58
БД Access

Ответить

Номер ответа: 2
Автор ответа:
 Виталий51



ICQ: 224290361 

Вопросов: 8
Ответов: 50
 Web-сайт: www.feshin.info
 Профиль | | #2
Добавлено: 25.08.06 20:14
SELECT ом можно это сделать?

Ответить

Номер ответа: 3
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #3 Добавлено: 25.08.06 23:05
Можно

Ответить

Номер ответа: 4
Автор ответа:
 Виталий51



ICQ: 224290361 

Вопросов: 8
Ответов: 50
 Web-сайт: www.feshin.info
 Профиль | | #4
Добавлено: 26.08.06 20:33
в VB есть возможность использовать Limit как в "мускуле"? например остановиться на третьей записи?
и узнать количество записей в БД?

Ответить

Номер ответа: 5
Автор ответа:
 Виталий51



ICQ: 224290361 

Вопросов: 8
Ответов: 50
 Web-сайт: www.feshin.info
 Профиль | | #5
Добавлено: 26.08.06 20:34
ссылочку на хорошую книжку сможешь сбросить VB & SQL?
Спасибо заранее

Ответить

Номер ответа: 6
Автор ответа:
 Виталий51



ICQ: 224290361 

Вопросов: 8
Ответов: 50
 Web-сайт: www.feshin.info
 Профиль | | #6
Добавлено: 26.08.06 20:56
всмысле SELECT COUNT, какие особенности запроса в VB?

Ответить

Номер ответа: 7
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #7 Добавлено: 26.08.06 21:38
в VB есть возможность использовать Limit как в "мускуле"? например остановиться на третьей записи?

Можно.
Именно Limits нет, но есть различные способы, отличаются своей сложнойстью и скоростью.
Но что-то подсказывает мне, что не нужны они тебе.

и узнать количество записей в БД?

Можно.

ссылочку на хорошую книжку сможешь сбросить VB & SQL?

Не могу ссылку сбросить я.

всмысле SELECT COUNT, какие особенности запроса в VB?

Особенностей нет никаких, как везде работает это.

Ответить

Номер ответа: 8
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #8 Добавлено: 26.08.06 21:44
Вообще попробуй внятно объяснить что ты хочешь сделать.
Не нужно говорить, как ты это хочешь сделать, говори что ты хочешь сделать.

Я уверен, по функциональности твоей прогарммы сложность SQL-запросов не выходит за рамки элементарных запросов, но ты почему-то хочешь сделать все по-своему с наворочеными SQL-запросами, которые только уменьшат быстродействие...

Ответить

Номер ответа: 9
Автор ответа:
 Виталий51



ICQ: 224290361 

Вопросов: 8
Ответов: 50
 Web-сайт: www.feshin.info
 Профиль | | #9
Добавлено: 26.08.06 23:23
В имеющейся БД Access есть таблица(ы), содержащая(е) несколько полей, одно из которых пустое
1. Нужно пронумеровать по-порядкуовому номеру записи (1;2;3 и т.д.) в каждое пустое поле
2. Занести из одной из таблиц значения первого поля в "выпадающий список"
3. Знать сколько записей в первой таблице (может увеличиваться и уменьшаться).

примерно это

Ответить

Номер ответа: 10
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #10 Добавлено: 27.08.06 03:17
1. Нужно пронумеровать по-порядкуовому номеру записи (1;2;3 и т.д.) в каждое пустое поле

Зачем тебе нумеровать записи?
Первичные ключи в БД есть?
Что делать при удалении данных из середины списка? Каким образом перенумеровывать элементы?

2. Занести из одной из таблиц значения первого поля в "выпадающий список"

Элементарно.
Делаешь Select из БД, перебираешь все записи, добавляешь их в список.

3. Знать сколько записей в первой таблице (может увеличиваться и уменьшаться).

Делаешь запрос
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-сайт: www.feshin.info
 Профиль | | #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-сайт: www.feshin.info
 Профиль | | #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 - не знаю.

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам