Вопросы

Олег Андриевский
О фильтрации таблицы

Также весьма интересен фильтр данных, вводимый вручную:

Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
        If Trim(TextBox1.Text) = "" Then
            Me.СтудентыBindingSource.RemoveFilter()
        Else
            Me.СтудентыBindingSource.Filter = String.Format("{0} LIKE '{1}%'", "ФИО", Trim(TextBox1.Text))
        End If
    End Sub

Светлана Шинкарева
Почему вызываются поля из запроса, а не таблицы

В самостоятельной работе №5 (последний пример "отображение студентов по возрасту" в теле процедуры поля "ФИО", "дата рождения" выбираются из запроса "студенты + специальности". Почему из запроса, а не из таблицы "Студенты" выбираются эти поля? такая выборка полей как-то влияет на быстродействие или это просто желание автора?

Татьяна Кнышенко
Татьяна Кнышенко 11 апреля 2016 в 13:07

В запросе уже хранится агрегированная таблица, поэтому нет смысла обращаться ко всей базе данных.

Ирина Плющова
Не работает команда, указанная в лекции

CREATE TABLE Оценки

(ФИО Varchar(20),

Оценка1 int,

Оценка2 int,

Оценка3 int,

[средний балл] = (Оценка1+ Оценка2+ Оценка3)/3

 

Выдает ошибку "Неправильный синтаксис около конструкции "=". В чем проблема?

Олег Андриевский
Олег Андриевский 12 июня 2016 в 22:34

[средний балл] = (Оценка1+ Оценка2+ Оценка3)/3 - эта конструкция вообще нерабочая при создании таблицы, имеет смысл в создании запроса как вычисляемое поле. Если ошибаюсь - поправьте.

Олег Андриевский
Олег Андриевский 13 июня 2016 в 13:28

/* Работоспособный вариант */
USE [Students]
GO
/* Удаление таблицы */
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Оценки]') AND type in (N'U'))
DROP TABLE [dbo].[Оценки]
GO
/* Создание вычисляемого поля таблицы */
CREATE TABLE [dbo].[Оценки](
[Код студента] bigint NULL,
[Код предмета 1] bigint NULL,
[Дата экзамена 1] date NULL,
[Оценка 1] tinyint NULL,
[Код предмета 2] bigint NULL,
[Дата экзамена 2] date NULL,
[Оценка 2] tinyint NULL,
[Код предмета 3] bigint NULL,
[Дата экзамена 3] date NULL,
[Оценка 3] tinyint NULL,
[Средний балл] AS ([Оценка 1]+[Оценка 2]+[Оценка 3])/3
)
GO

Иван Беляев
Дополнительный материал

Меню (Связывает таблицы "Меню" и "Склад" по полям "Код ингредиента", "Код ингредиента 1", "Код ингредиента 2" и "Код ингредиента 3"). Кто может подсказать как это сделать?

Андрей Заярный
Создание базы данных с помощью T-SQL
Не могу создать базу данных
Запускаю запрос из лекции:

CREATE DATABASE Students
ON (Name = Students,
FileName = 'D:Students.mdf',
Size = 1Mb,
Maxsize = 100Mb,
FileGrowth= 1Mb)
LOG ON
(Name = StudentsLog,
FileName = 'D:Students.ldf',
Size = 1Mb,
Maxsize = 100Mb,
FileGrowth = 1Mb)

Получаю:

CREATE DATABASE Students ON (Name = Students, FileName = 'C:Students.mdf', Size=1Mb, Maxsize=100Mb, FileGrowth=1Mb)LOG ON (Name= StudentsLog, FileName= 'C:Studetns.ldf', Size = 1Mb,Maxsize=100Mb,FileGrowth=1Mb)
Ошибка при разборе запроса. [ Token line number = 2,Token line offset = 1,Token in error = ON ]

Что делать?
Андрей Заярный
С помощью какой программы создается база данных?
В лекции 3 написано, что базу данных можно выбрать из списка или создать с помощью T-SQL. А что запустить? Я так и не понял.
Ольга Горскова
Ольга Горскова 22 октября 2013 в 13:29

CREATE DATABASE Students
ON (Name = Students,
FileName = 'C:\Students.mdf',
Size = 3Mb,
Maxsize = 100Mb,
FileGrowth= 1Mb)
LOG ON
(Name = StudentsLog,
FileName = 'C:\Students.ldf',
Size = 3Mb,
Maxsize = 100Mb,
FileGrowth = 1Mb)