mdb - SQL запрос

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 17.05.2005 (Вт) 9:33

Предлагаю запросы писать в текстовых файлах и загружать их в переменную из программы. Если не хочешь таскать с собой файлы, то перенеси их в ресурсы.
Lasciate ogni speranza, voi ch'entrate.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 17.05.2005 (Вт) 9:39

alibek писал(а):Предлагаю запросы писать в текстовых файлах и загружать их в переменную из программы. Если не хочешь таскать с собой файлы, то перенеси их в ресурсы.


Хм. Непонял смысла...

Не проще запросы хранить в самой базе, где они и должны быть по определению?

А динамически создаваемые запросы (что приходится иногда делать) все одно хранить нигде не удастся, ибо они создаются из кода...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Чудик
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 639
Зарегистрирован: 06.07.2004 (Вт) 12:18
Откуда: г. Егорьевск

Сообщение Чудик » 17.05.2005 (Вт) 9:40

Интересное предложение, конечно, но не потеряется ли наглядность кода? Ведь, придется лазить при анализе кода уже в двух окнах или типа того.
Век живи - век учись!
www.detal-plast.narod.ru

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 17.05.2005 (Вт) 9:42

Andrey Fedorov, да, в базе лучше :)
Но текстовые файлы удобнее редактировать, пока проект находится на стадии отладки.
Lasciate ogni speranza, voi ch'entrate.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 17.05.2005 (Вт) 9:45

alibek писал(а):Andrey Fedorov, да, в базе лучше :)
Но текстовые файлы удобнее редактировать, пока проект находится на стадии отладки.


Разве?

Если база Access, то у нее есть собственный конструктор.
Если база SQL, то QA.

В базе сразу все и проверить/отладить можно...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 17.05.2005 (Вт) 10:08

Мне удобнее :)
Конструктор Access слишком много всего в код добавляет, я им все-равно не пользуюсь. А QA тоже не использую -- для сложных случаев есть MSSQL Manager от EMS, а для простых обычный блокнот оперативнее.
Кроме того, если брать исключительно мой случай, то у меня не совсем SQL, а скорее шаблон, из которого программа собирает настоящий запрос.
Lasciate ogni speranza, voi ch'entrate.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 17.05.2005 (Вт) 11:47

alibek писал(а):Мне удобнее :)
Конструктор Access слишком много всего в код добавляет, я им все-равно не пользуюсь.


Ну почему - когда нужно что-то сделать для Access (что, впрочем, бывает редко) я его использую. Не столь уж и много он добавляет, разве что лишние скобки.

alibek писал(а): А QA тоже не использую -- для сложных случаев есть MSSQL Manager от EMS, а для простых обычный блокнот оперативнее.


Счас - гляну что за зверь - раньше не пользовал...

[/quote]Кроме того, если брать исключительно мой случай, то у меня не совсем SQL, а скорее шаблон, из которого программа собирает настоящий запрос.[/quote]

А такие вещи, IMHO, лучше просто в базу пихать - в таблицу...
Впрочем, тут кто как приспособился...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 17.05.2005 (Вт) 11:59

Andrey Fedorov писал(а):Ну почему - когда нужно что-то сделать для Access (что, впрочем, бывает редко) я его использую. Не столь уж и много он добавляет, разве что лишние скобки.

А этого мало? :)
Кроме того, он таблицы умеет соединять только по INNER JOIN, а в сложных случаях такой запрос совершенно нечитабелен, я уж лучше объединение в WHERE сделаю.

Andrey Fedorov писал(а):Счас - гляну что за зверь - раньше не пользовал...

Зверь знатный, глянь :)
http://www.sqlmanager.net/ или конкретно http://www.sqlmanager.net/products/mssql/manager
Один из признанных лидеров в данном типе продуктов.
Lasciate ogni speranza, voi ch'entrate.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 17.05.2005 (Вт) 12:06

alibek писал(а):
Andrey Fedorov писал(а):Ну почему - когда нужно что-то сделать для Access (что, впрочем, бывает редко) я его использую. Не столь уж и много он добавляет, разве что лишние скобки.

А этого мало? :)


Но и немного, тем более с Access-ом работаю редко...

alibek писал(а):Кроме того, он таблицы умеет соединять только по INNER JOIN, а в сложных случаях такой запрос совершенно нечитабелен, я уж лучше объединение в WHERE сделаю.


Иногда Join удобнее, особенно когда редактировать таблицу надо.

Andrey Fedorov писал(а):Счас - гляну что за зверь - раньше не пользовал...

Зверь знатный, глянь :)[/quote]

Уже гляжу.
А вот возможности отладить хранимку пока не нашел. То бишь не вижу Debug-ера, аналогичному QA. А так вроде ничего кардинально нового, может на первый взгляд...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Чудик
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 639
Зарегистрирован: 06.07.2004 (Вт) 12:18
Откуда: г. Егорьевск

Сообщение Чудик » 23.05.2005 (Пн) 7:16

codemaster писал(а):
Чудик писал(а):Сodemaster, та хачешь сказать, что нужно конкретизировать типа SELECT TOP 1 * ?




Код: Выделить всё
select *

как и
Код: Выделить всё
select table1.*

это почти 100% плоxo. Это мина замедленного действия которую ты подкладываеш если не себе, то своему преемнику(пользователю). Особенно если дизайн таблицы постоянно меняется.

верно будет следующее
Код: Выделить всё

select table1.column2, table2.column2 where table1.column1 = table2.column1
или

select a.column2, b.column2 from table1 a, table2 b where a.column1 = b.column1


А если при Select * From ... в дальнейшем использовать такую запись типа как rs!Name или rs!Index, то может тогда будет по-барабану? Select * или Select a.column1?
Век живи - век учись!
www.detal-plast.narod.ru

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 23.05.2005 (Пн) 7:32

select * хорош в диагностических и/или отладочных целях.
В практике лучше использовать конкретные поля -- во-первых не будет передаваться лишняя информация, во-вторых меньше привязок к конкретной структуре БД.
Lasciate ogni speranza, voi ch'entrate.

Чудик
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 639
Зарегистрирован: 06.07.2004 (Вт) 12:18
Откуда: г. Егорьевск

Сообщение Чудик » 23.05.2005 (Пн) 7:45

Понял.
Век живи - век учись!
www.detal-plast.narod.ru

Пред.

Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

    TopList  
cron