Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
StudentIriska
0 / 0 / 0
Регистрация: 09.01.2017
Сообщений: 11
1

Ошибка в приложении для работы с базой данных

09.01.2017, 16:54. Просмотров 788. Ответов 21

Здравствуйте, уважаемые участники форума. Прошу у вас помощи. Я изучаю основы программирования самостоятельно. Данный код я скопировала из учебника, чтобы на его основе создать своё приложение. Но, к сожалению, мой visual express на этот код выдаёт мне следующую ошибку: 'Элемент "database" не существует в текущем контексте'. Как мне её исправить? Пожалуйста, помогите. Ниже приведён полный код программы.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using DB.Properties;
using System.Data.OleDb;
 
namespace DB
{
    public partial class FormMain : Form
    {
        public FormMain()
        {
            InitializeComponent();
        }
 
        private void closeToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Close();
        }
 
        private void aboutProgrammToolStripMenuItem_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Эта программа предназначена для работы с БД. Её разработала студентка курса Программирование для начинающих, "О программе", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }
 
        private void FormMain_FormClosed(object sender, FormClosedEventArgs e)
        {
            Settings.Default.Save();
        }
 
        private void FormMain_FormClosing(object sender, FormClosingEventArgs e)
        {
            e.Cancel = MessageBox.Show("Вы хотите закрыть программу?", "Внимание", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes;
        }
        public void loadDataGrid(DataGridView myDataGridView, string sqlQueryString)
        {
            OleDbCommand SQLQuery = new OleDbCommand();
            DataTable data = null;
            myDataGridView.DataSource = null;
            SQLQuery.Connection = null;
            OleDbDataAdapter dataADAPTER = null;
            datGridDBTables.Columns.Clear();
            SQLQuery.CommandText = sqlQueryString;
            SQLQuery.Connection = database;
            data = new DataTable();
            dataADAPTER = new OleDbDataAdapter(SQLQuery);
            dataADAPTER.Fill(data);
            myDataGridView.DataSource = data;
            myDataGridView.AllowUserToAddRows = false;
            myDataGridView.ReadOnly = true;
 
        }
 
        private void btnRequest_Click(object sender, EventArgs e)
        {
            loadDataGrid(datGridDBTables, tbRequest.Text);
        }
    }
}
Буду вам очень признательна за помощь. А то мне скоро работу сдавать, а я даже начать толком не могу)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.01.2017, 16:54
Ответы с готовыми решениями:

Приложение для работы с базой данных
Всем доброго времени суток!!! У меня есть приложение для работы с БД SQL...

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

Программа для работы с базой данных Access
база данных access, в программе C# Контрольные задания по созданию БД ...

Какой инструмент выбрать для клиента и для работы с базой данных используя C#?
Какой инструмент выбрать для клиента и для работы с базой данных используя C#?...

Создание приложения для работы с базой данных (firebird)
Есть база, подключенная к visual studio, а что с ней делать дальше не ясно....

21
Hikari
Хитрая блондиночка $)
1451 / 963 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
09.01.2017, 17:04 2
Цитата Сообщение от StudentIriska Посмотреть сообщение
Данный код я скопировала из учебника
А что в учебнике написано про слово "database", присутствующее в этом коде?
0
StudentIriska
0 / 0 / 0
Регистрация: 09.01.2017
Сообщений: 11
09.01.2017, 17:06  [ТС] 3
В том то и дело что ничего не написано. так бы я сама потихоньку разобралась, но тут ни одной подсказки.
0
Usaga
Эксперт .NET
5097 / 3436 / 609
Регистрация: 21.01.2016
Сообщений: 13,545
Завершенные тесты: 2
09.01.2017, 17:36 4
StudentIriska, вот тут есть подсказки. А если немного погуглить по фразе "ADO.NET", то можно опузыриться подсказками.
0
bax_tang
.NET senior
420 / 340 / 135
Регистрация: 23.09.2016
Сообщений: 967
Завершенные тесты: 3
09.01.2017, 20:08 5
Цитата Сообщение от StudentIriska Посмотреть сообщение
SQLQuery.Connection = database;
судя по вот этой строке, database - это OleDbConnection, размещённый на форме FormMain в режиме дизайнера (скорее всего, в книге об этом сообщается отдельно). Собственно, поэтому он и "не виден" в той части кода, которую Вы скопировали из книги.
0
StudentIriska
0 / 0 / 0
Регистрация: 09.01.2017
Сообщений: 11
09.01.2017, 20:11  [ТС] 6
Цитата Сообщение от Usaga Посмотреть сообщение
StudentIriska, вот тут есть подсказки. А если немного погуглить по фразе "ADO.NET", то можно опузыриться подсказками.
Спасибо, за подсказку. Я обязательно посмотрю. Но я обратилась на этот форум не от скуки, а потому что я уже и гуглила и яндексила и всё равно не разобралась. Я думала вы мне поможете объяснить суть этой ошибки простым языком, чтобы она больше у меня не встречалась.

Добавлено через 2 минуты
К сожалению в книге про эту database вообще ни слова нет. Просто пример кода. Как я могу это исправить?
0
StudentIriska
0 / 0 / 0
Регистрация: 09.01.2017
Сообщений: 11
09.01.2017, 20:17  [ТС] 7
Вот сама форма.
0
Миниатюры
Ошибка в приложении для работы с базой данных  
StudentIriska
0 / 0 / 0
Регистрация: 09.01.2017
Сообщений: 11
09.01.2017, 20:32  [ТС] 8
Я уже и имена проверила. Ни одной зацепки. А так как я ещё очень начинающий программист, то хотелось бы разобраться в сути этой ошибки.

Добавлено через 13 минут
И, кстати, это пример полного кода.
0
bax_tang
.NET senior
420 / 340 / 135
Регистрация: 23.09.2016
Сообщений: 967
Завершенные тесты: 3
09.01.2017, 20:46 9
StudentIriska, выложите весь проект архивом на форум - так разговор примет более предметный характер.
0
StudentIriska
0 / 0 / 0
Регистрация: 09.01.2017
Сообщений: 11
09.01.2017, 20:52  [ТС] 10
Сейчас сделаю. Спасибо за помощь.
0
StudentIriska
0 / 0 / 0
Регистрация: 09.01.2017
Сообщений: 11
09.01.2017, 20:53  [ТС] 11
Здесь сам проект и подключаемая база данных.
0
Вложения
Тип файла: rar Урок 19, Базы данных.rar (104.1 Кб, 9 просмотров)
Hikari
Хитрая блондиночка $)
1451 / 963 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
09.01.2017, 21:05 12
Судя по всему учебник тебе достался от недалекого автора...
Я обычно не особо рекомендую, но в данном случае попробуй посмотреть как делают тут:
https://www.youtube.com/watch?v=GQfA1cvCNm0
Это видео показывает как можно состряпать простое приложение

P.S. Ссылка что-то в теге Ютюб недействительна, выкладываю так.
0
StudentIriska
0 / 0 / 0
Регистрация: 09.01.2017
Сообщений: 11
09.01.2017, 21:12  [ТС] 13
Спасибо, я попробую. Автор и правда недалёкий. Я в каждом уроке нахожу ошибки. )
0
Shogun31337
534 / 514 / 222
Регистрация: 02.11.2016
Сообщений: 1,538
Завершенные тесты: 2
10.01.2017, 02:45 14
Лучший ответ Сообщение было отмечено StudentIriska как решение

Решение

Вот так все работает:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public void loadDataGrid(DataGridView myDataGridView, string sqlQueryString)
{
    //Data Source - это путь к файлу базы данных. 
    //Можно использовать как полный, так и относительный путь.
    string ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;" + 
                               "Data Source=База Данных.mdb;Persist Security Info=False;";
    OleDbConnection conn = new OleDbConnection(ConnectionString);
    OleDbCommand SQLQuery = new OleDbCommand(sqlQueryString, conn);
    OleDbDataAdapter dataADAPTER = new OleDbDataAdapter(SQLQuery);
    DataTable data = new DataTable("tblData");
    dataADAPTER.Fill(data);
    myDataGridView.DataSource = data;
    myDataGridView.AllowUserToAddRows = false;
    myDataGridView.ReadOnly = true;
}
Добавлено через 23 минуты
PS. Запрос, который у Вас записан в tbRequest построен неверно.

Добавлено через 12 минут
PPS. Если я правильно уловил суть того, что должно выводиться в результате запроса,
то запрос должен выглядеть вот так:
SQL
1
2
SELECT Executor.Executor_Surname, WORK.Work_Name, Project.Project_Date 
FROM [WORK] INNER JOIN (Executor INNER JOIN Project ON Executor.Executor_ID = Project.Executor_ID) ON WORK.Work_ID = Project.Work_ID;
1
StudentIriska
0 / 0 / 0
Регистрация: 09.01.2017
Сообщений: 11
10.01.2017, 11:42  [ТС] 15
Спасибо Вам за разъяснение. Теперь ошибок нет, но базу данных оно загружать не хочет даже когда я прописываю полный путь. Может подскажете как быть?
0
Shogun31337
534 / 514 / 222
Регистрация: 02.11.2016
Сообщений: 1,538
Завершенные тесты: 2
10.01.2017, 11:57 16
Лучший ответ Сообщение было отмечено StudentIriska как решение

Решение

Цитата Сообщение от StudentIriska Посмотреть сообщение
Спасибо Вам за разъяснение.
Не за что!
Цитата Сообщение от StudentIriska Посмотреть сообщение
базу данных оно загружать не хочет даже когда я прописываю полный путь
1. Полный путь прописывать не обязательно, т.к. у Вас база добавлена в проект и при построении проекта она
копируется в каталог с программой.
2. А как Вы пытаетесь загружать базу? У Вас в программе, в данный момент, используется всего одна кнопка "Send Request" и весь код по загрузке данных из базы исполняется только в ней! Т.е. чтобы получить данные в гриде, нужно нажать на кнопку "Send Request" (Не забыв предварительно сделать ее активной в ее свойствах).
1
Shogun31337
534 / 514 / 222
Регистрация: 02.11.2016
Сообщений: 1,538
Завершенные тесты: 2
10.01.2017, 12:11 17
Результат должен выглядеть вот так:
1
Миниатюры
Ошибка в приложении для работы с базой данных  
StudentIriska
0 / 0 / 0
Регистрация: 09.01.2017
Сообщений: 11
10.01.2017, 15:31  [ТС] 18
Ещё раз огромное спасибо и низкий поклон! Теперь я разобралась и в коде и в ошибках! Спасибочки!

Добавлено через 30 секунд
всё работает!!!! ура!!!
0
Shogun31337
534 / 514 / 222
Регистрация: 02.11.2016
Сообщений: 1,538
Завершенные тесты: 2
10.01.2017, 15:57 19
StudentIriska, всегда рад помочь! Обращайтесь, если возникнут сложности!
0
FroztBal
25 / 25 / 10
Регистрация: 18.08.2014
Сообщений: 205
Завершенные тесты: 1
12.01.2017, 08:31 20
Топик стартеру посоветую посмотреть видео уроки от группы ITVDN.
0
12.01.2017, 08:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.01.2017, 08:31

Программный модуль для работы с базой данных на sql workbanch
Здравствуйте, нужна программа для подключения к БД на sql workbanch(считывание,...

Промежуточный класс для реализации методов работы с базой данных.
Кто-нить писал промежуточный класс для реализации методов работы с базой...

Подскажите книгу или ссылку на сайт для работы с базой данных Access
Подскажите книгу или сылку на сайт для работы с базой данных. В интернете не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru