Для демострации возможностей SQL мы создадим небольшую программу. Для этого: 1. Загрузите Visual Basic
2. Создайте Standart EXE
3. Щелкните на Project, Components и у вас появится список на экране. Выберите в этом списке 'Microsoft FlexGrid Control 6.0' и щелкните OK. Контрол под названием FlexGrid позволит нам показать ответы на вопросы, касающиеся баз данных.
3. Далее, добавьте следующие контролы в форму. Добавьте Text Box, Command Button, Data control и собственно, MSFlexGrid.
4. В окне Properties щелкните на свойстве 'DataSource'. Из появившегося списка выберите 'Data1'.
5. Измените свойство DatabaseName так, чтобы оно указывало на базу данных Nwind.mdb. Обычно она расположена в "C:\Program Files\Microsoft Visual Studio\VB98\Nwind.mdb"
6. Теперь вставьте следующий код:
On Error GoTo ErrHandle
Data1.RecordSource = Text1.Text
Data1.Refresh
Exit Sub
ErrHandle:
MsgBox "У нас проблемы!"
Отлично! Теперь я расскажу, как это работает :)
Во-первых, мы добавили контрол FlexGrid. Он является точо таким же контролом, как и CommandButton или CheckBox.
Этот контрол позволяет легко просматривать все записи, находящиеся в нашей базе.
Теперь мы зададим "вопрос" нашей базе на SQL и таким образом "скажем" ей, что результаты должны появлятся в FlexGrid.
Нажмите F5, чтобы запустить программу. Наберите в текстовом поле 'Customers' и нажмите кнопку. Вы увидите кучу колонок с разнообразной информацией.
Но теперь давайте представим, что нам нужно показывать не всю таблицу, а только контактные имена. Только вот как это сделать?
Для этого используем SQL. В текстовом поле напишите:
Select ContactName from Customers
что означает примерно следующее: "Покажи мне все, что находится в столбце ContactName из таблицы Customers. Или вот еще один пример:
Select ContactName, ContactTitle from Customers
Только не говорите вашим друзьям, что SQL -- это очень просто. Лучше купите книжку...;)
Кстати, SQL-запросы можно создавать из Access, где они именуются Query.
В этой статье я, как и обещал, познакомил вас с SQL. В следующей статье мы изучим SQL несколько больше.