Создание базы данных в MS Access. Добавление новых источников данных. Установка настроек. Запуск Microsoft Visual Studio 2008

Страницы работы

Содержание работы

1) Создаем базу данных, например в MS Access

Таблица с именем students имеет 4 поля: id (PK, счетчик), fio (текстовый), regnomer (текстовый), vozrast (числовой).

2) Пуск – Настройка – Панель управления – Администрирование – Источники данных ODBC


3) Добавляем новый источник данных

4) Устанавливаем настройки: имя источника данных, в нашем случае, STUDS; полный путь к базе данных


5) Запускаем Microsoft Visual Studio 2008

File – New – Project


6) Добавляем на Toolbox – Data компоненты OdbcCommand, OdbcConnection и OdbcDataAdapter через контекстное меню Choose Items …


7) На закладке .NET Framework Components находим нужные компоненты и отмечаем их галочкой. Ok


8) Добавляем компонент odbcConnection1


9) odbcConnection1 - ConnectionString есть Dsn=STUDS


10) Добавляем компоненты odbcDataAdapter1, dataSet1, dataGridView1

odbcDataAdapter1.SelectCommand.Connection = odbcConnection1;


11) Устанавливаем следующие свойства для dataGridView1

dataGridView1.AllowUserToAddRows = false;

dataGridView1.AllowUserToDeleteRows = false;

dataGridView1.AllowUserToResizeRows = false;

dataGridView1.MultiSelect = false;

dataGridView1.ReadOnly = true;

dataGridView1.SelectionMode =

System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;

dataGridView1.StandardTab = true;

12) Добавим 3 колонки в визуальную таблицу


13) Список колонок

// FIO

//

this.FIO.HeaderText = "ФИО";

this.FIO.Name = "FIO";

this.FIO.ReadOnly = true;

//

// REGNOMER

//

this.REGNOMER.HeaderText = "РегНомер";

this.REGNOMER.Name = "REGNOMER";

this.REGNOMER.ReadOnly = true;

//

// VOZRAST

//

this.VOZRAST.HeaderText = "Возраст";

this.VOZRAST.Name = "VOZRAST";

this.VOZRAST.ReadOnly = true;


14) Функция при нажатии на кнопку «Загрузить»

//Установка соединения для SelectCommand компонента odbcDataAdapter1

odbcDataAdapter1.SelectCommand.Connection = odbcConnection1;

//Если соединение открыто, то закрываем его

if (odbcConnection1.State == ConnectionState.Open)

{

odbcConnection1.Close();

}

//Открываем соединение

odbcConnection1.Open();

//Имя таблицы - выборки в dataSet1

string selectsql_name = "STU";

//Имя таблицы - выборки в dataSet1 должно быть уникально, поэтому удаляем, если такая нашлась.

int i;

for (i = 0; i <= dataSet1.Tables.Count - 1; i++)

{

if (dataSet1.Tables[i].TableName.ToString().ToUpper() == selectsql_name.ToUpper())

{

dataSet1.Tables.RemoveAt(i);

}

}

//Добавляем новую таблицу - выборку в dataSet1 с именем selectsql_name

dataSet1.Tables.Add(selectsql_name);

//sql запрос

string commandTextTemp = "select * from students ";           

odbcDataAdapter1.SelectCommand.CommandText = commandTextTemp;

odbcDataAdapter1.TableMappings.Clear();

odbcDataAdapter1.TableMappings.Add("Table1", "Table2");

try

{

//Выполнение sql запроса и загрузка в таблицу - выборку

odbcDataAdapter1.Fill(dataSet1.Tables[selectsql_name]);

//Перегрузка таблицы в dataGridView1

int j;

int k;

string s;

dataGridView1.Rows.Clear();

i = 0;

//Просматриваем все записи в таблице - выборке

while (i <= dataSet1.Tables[selectsql_name].Rows.Count - 1)

{

//Добавляем новую строку в визуальную таблицу

dataGridView1.Rows.Add();

j = 0;

//Просматриваем колонки в таблице - выборке

while (j <= dataSet1.Tables[selectsql_name].Columns.Count - 1)

{

s = dataSet1.Tables[selectsql_name].Columns[j].ColumnName;

k = 0;

//Просматриваем колонки в визуальной таблице

while (k <= dataGridView1.ColumnCount - 1)

{

//Если имя колонки в таблице - выборке совпало с именем колонки в визуальной таблице, то

if (dataGridView1.Columns[k].Name.ToUpper() ==

s.ToUpper())

{

dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells[s].Value = dataSet1.Tables[selectsql_name].Rows[i][s].ToString();

}

k++;

}

j++;

}

i++;

}

//Первая строка текущая

if (dataGridView1.Rows.Count > 0)

{

dataGridView1.Rows[0].Selected = true;

dataGridView1.CurrentCell = dataGridView1.Rows[0].Cells[1];

}

//Сортируем

if (dataGridView1.SortedColumn != null)

{

if (dataGridView1.SortOrder.ToString().ToUpper()[0] == 'A')

{

dataGridView1.Sort(dataGridView1.SortedColumn, ListSortDirection.Ascending);

};

if (dataGridView1.SortOrder.ToString().ToUpper()[0] == 'D')

{

dataGridView1.Sort(dataGridView1.SortedColumn, ListSortDirection.Descending);

};

}

//Первая строка текущая

if (dataGridView1.Rows.Count > 0)

{

dataGridView1.Rows[0].Selected = true;

dataGridView1.CurrentCell = dataGridView1.Rows[0].Cells[1];

}

}

catch

{

MessageBox.Show("Обнаружена ошибка при выполнении запроса!", "Внимание!",

MessageBoxButtons.OK, MessageBoxIcon.Warning);

}


15) При нажатии на кнопку «Загрузить» появится следующее. Сортировка работает.

16) Далее ставим задачу добавления записи в таблицу.

Реализовывать это будем с помощью sql запросов.

Добавим три компонента TextBox

textBox1.MaxLength = 255; //фио

textBox1.MaxLength = 255; //регномер

textBox3.MaxLength = 3; //возраст

textBox3.Text = “0”;


17) Добавим 2 процедуры

private void textBox3_TextChanged(object sender, EventArgs e)

{

try

{

System.Convert.ToInt32(textBox3.Text.ToString());

}

catch

{

textBox3.Text = "0";

}

}

private void button2_Click(object sender, EventArgs e)

{

odbcSelectCommand1.CommandText =

"insert into students(fio, regnomer, vozrast) "+

"values('"+textBox1.Text.ToString()+"', "+

"'"+textBox2.Text.ToString()+"', "+

""+textBox3.Text.ToString()+") ";

odbcSelectCommand1.ExecuteNonQuery();       

}

18) Результат

Похожие материалы

Информация о работе