Форум программистов, компьютерный форум, киберфорум
Наши страницы

C# и базы данных, ADO.NET

Войти
Регистрация
Восстановить пароль
 
 
StudentIriska
0 / 0 / 0
Регистрация: 09.01.2017
Сообщений: 11
#1

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

09.01.2017, 16:54. Просмотров 349. Ответов 19

Здравствуйте, уважаемые участники форума. Прошу у вас помощи. Я изучаю основы программирования самостоятельно. Данный код я скопировала из учебника, чтобы на его основе создать своё приложение. Но, к сожалению, мой 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
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка в приложении для работы с базой данных (C#):

Приложение для работы с базой данных - C#
У меня есть приложение суть такая есть база данных в ней таблица, в приложении присутствуют фильтры по столбцам "data" и "federal",...

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

Какой инструмент выбрать для клиента и для работы с базой данных используя C#? - C#
Какой инструмент выбрать для клиента и для работы с базой данных используя C#? ИСХОДНЫЕ ДАННЫЕ: 1. преобладающий тип связи между...

Создание приложения для работы с базой данных (firebird) - C#
Есть база, подключенная к visual studio, а что с ней делать дальше не ясно. Раньше с этим не сталкивался, дайте пожалуйста ссылки, где...

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

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

19
Hikari
Хитрая блондиночка $)
1449 / 956 / 285
Регистрация: 21.12.2015
Сообщений: 3,798
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
2235 / 1903 / 349
Регистрация: 21.01.2016
Сообщений: 7,312
Завершенные тесты: 2
09.01.2017, 17:36 #4
StudentIriska, вот тут есть подсказки. А если немного погуглить по фразе "ADO.NET", то можно опузыриться подсказками.
0
bax_tang
377 / 298 / 80
Регистрация: 23.09.2016
Сообщений: 887
Завершенные тесты: 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
377 / 298 / 80
Регистрация: 23.09.2016
Сообщений: 887
Завершенные тесты: 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 Кб, 4 просмотров)
Hikari
Хитрая блондиночка $)
1449 / 956 / 285
Регистрация: 21.12.2015
Сообщений: 3,798
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
207 / 203 / 82
Регистрация: 02.11.2016
Сообщений: 770
Завершенные тесты: 1
10.01.2017, 02:45 #14
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Вот так все работает:
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
10.01.2017, 11:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.01.2017, 11:42
Привет! Вот еще темы с ответами:

Подскажите книгу или ссылку на сайт для работы с базой данных Access - C#
Подскажите книгу или сылку на сайт для работы с базой данных. В интернете не чего толкового не смог найти. База данных (Access 2010)...

Ошибка "база данных только для чтения" в установленном приложении - C#
В VS при нажатии на кнопку Запуск, приложение работает без ошибок, удаляет и сохраняет записи. Создала инсталляционный пакет с помощью...

Ошибка с базой данных в C#! - C#
Доброй ночи!Выручайте! Завтра сдавать диплом, мне помогли написать программку на C# и базой данных access, при попытке добавить и вывести...

MS SQL Класс для работы с базой SQL Server - C#
Добрый день. У меня вопрос к знающим людям. Пишу свой класс для работы с базой данных SQL Server в котором есть метод, который возвращает...


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

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

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