С Новым годом! Форум программистов, компьютерный форум, киберфорум
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/18: Рейтинг темы: голосов - 18, средняя оценка - 5.00
9 / 9 / 4
Регистрация: 23.12.2015
Сообщений: 730
1

Можно ли через код создать BindingSource?

30.10.2016, 14:25. Показов 3227. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Имеется dataGridView - 2шт.

*** СЦЕНАРИЙ
1. Вписываем путь к файлу в textBox1 c:\Users\db.mdb;
2. Нажимаем "button1" (Подключить базу);
3. Из Access данные импортируются в каждый dataGridView
4. В результате код создаёт для:
- dataGridView 1 - соединение BindingSource1
- dataGridView 2 - соединение BindingSource2


*** ВОПРОС
1. Можно ли кодом подключить к dataGridView файл Access через отдельные BindingSource?
Т.е. чтобы не открывать кучу диалогов "Мастер настройки источника данных" (см. скрин рис. 2), а прописать в коде все необходимые действия и реализовать (Сценарий п.3)


PS
Мой уровень владения C# - низкий. Поэтому прошу делать поправку на неточности в терминологии, если таковые имееются
Миниатюры
Можно ли через код создать BindingSource?  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.10.2016, 14:25
Ответы с готовыми решениями:

Можно ли создать интерфейс, через который можно было бы изменять параметры блоков Simulink?
Здраствуйте,уважаемые форумчане.) Подскажите пожалуйста,можно ли создать интерфейс, через который...

Поиск по datagridview, а не через BindingSource
Привет всем... не получается организовать поиск по datagridview. Нужно организовать поиск именно по...

Bindingsource.filter через radiobutton
Здравствуйте, такая проблема. Есть таблица Товар, в которой есть поле "Название товара". На форму...

Редактирования ячейки через BindingSource
Я наверное тут уже всем надоел. Каждый день новая тупая тема... Вопрос: Как редактировать ячейку...

14
Эксперт .NET
5877 / 4754 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
30.10.2016, 14:38 2
zakaz_77,
Пример:
C#
1
2
3
4
5
6
7
8
9
10
11
using (OleDbConnection conn = new OleDbConnection(Properties.Settings.Default.connString))
{
    string commText = "SELECT Employers.ID, Employers.FIO ..."; //запрос для примера сокращен
    OleDbCommand comm = new OleDbCommand(commText, conn);
    BindingSource bs = new BindingSource();
    DataTable table = new DataTable();
    OleDbDataAdapter  adapter = new OleDbDataAdapter(comm);
    adapter.Fill(table);
    bs.DataSource = table;
    dgvEmpl.DataSource = bs;
}
Properties.Settings.Default.connString - строка подключения
commText - текст sql запроса
dgvEmpl - DataGridView
1
9 / 9 / 4
Регистрация: 23.12.2015
Сообщений: 730
30.10.2016, 16:56  [ТС] 3
Я слепил кое-как.... Не знаю, может совсем бред сделал...

Но по крайней мере ошибка выскакивает только по переменной "connString" в строке 31
Ошибка
Ошибка CS1061

'Settings' does not contain a definition for 'connString' and no extension method 'connString' accepting a first argument of type 'Settings' could be found (are you missing a using directive or an assembly reference?)

Гугл перевод ошибки
"Настройки" не содержит определения для 'connString' и без метода расширения '' connString принимать первый аргумент типа "Настройки" можно найти (вы пропали без вести с помощью директивы или ссылка на сборку?)

Привожу код
Кликните здесь для просмотра всего текста
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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
using System.Data.OleDb;
 
 
namespace AcsDtg_vpr.cbrfrm435
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        // public string ConnString = "Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:\\Programs\\C_Sharp\\WindowsFormsApplication1\\mydb.mdb";
        // OleDbConnection connection = new OleDbConnection(String.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties="Excel 12.0 Xml;HDR=NO";", textBox1.Text));
 
        private const string connString = "Provider=Microsoft.ACE.OLEDB.12.0;DataSource=textBox1.Text;";
        private DataGridView dgvEmpl = new DataGridView();
 
        private void button1_Click(object sender, EventArgs e)
        {
          using (OleDbConnection conn = new OleDbConnection(Properties.Settings.Default.connString))
            {
                string commText = "SELECT Employers.ID, Employers.FIO"; //запрос для примера сокращен
                OleDbCommand comm = new OleDbCommand(commText, conn);
                BindingSource bs = new BindingSource();
                DataTable table = new DataTable();
                OleDbDataAdapter adapter = new OleDbDataAdapter(comm);
                adapter.Fill(table);
                bs.DataSource = table;
                dgvEmpl.DataSource = bs;
            }
 
        }
 
    }
}


ВОПРОС
1. Правилен ли код для решения поставленной задачи в топике #1?
2. Как убрать ошибку "connString"?


PS
Даценд, ещё раз огромное спасибо за оперативный ответ.
0
Эксперт .NET
5877 / 4754 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
30.10.2016, 17:13 4
zakaz_77,
Мой пример взят из проекта, где строка подключения сохранялась в Properties.Settings, поэтому при "дословном" использовании примера будут ошибки.
Вместо Properties.Settings.Default.connString можно воспользоваться connString:
C#
1
private string connString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;DataSource={0}", textBox1.Text);
Для инициализации подключения:
C#
1
using (OleDbConnection conn = new OleDbConnection(connString))
1
9 / 9 / 4
Регистрация: 23.12.2015
Сообщений: 730
30.10.2016, 17:37  [ТС] 5
Выдаёт ошибку в "textBox1"
Миниатюры
Можно ли через код создать BindingSource?  
0
Эксперт .NET
5877 / 4754 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
30.10.2016, 18:11 6
Цитата Сообщение от zakaz_77 Посмотреть сообщение
Вписываем путь к файлу в textBox1 c:\Users\db.mdb;
Есть 2 варианта:
1) Путь к фалу вводится после запуска программы. Для получения из текстбокса пути обрабатываем щелчок по кнопке.
2) Путь задается заранее (в конструкторе формы). Для получения из текстбокса пути обрабатываем событие Load формы.
Т.е. connString можно оставить полем формы, но прочитать текст из текстбокса можно только при обработке какого-либо события.
0
9 / 9 / 4
Регистрация: 23.12.2015
Сообщений: 730
30.10.2016, 18:15  [ТС] 7
Лучше по варианту 1
Не могли бы вы подсказать как скорректировать код.
0
Эксперт .NET
5877 / 4754 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
30.10.2016, 18:24 8
zakaz_77,
см. комментарии
Кликните здесь для просмотра всего текста
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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
using System.Data.OleDb;
 
 
namespace AcsDtg_vpr.cbrfrm435
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private DataGridView dgvEmpl = new DataGridView(); //а на форме нет DataGridView??
 
        private void button1_Click(object sender, EventArgs e)
        {
            string connString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;DataSource={0}", textBox1.Text);
            using (OleDbConnection conn = new OleDbConnection(connString))
            {
                string commText = "SELECT ..."; //запрос пишите свой!!!
                OleDbCommand comm = new OleDbCommand(commText, conn);
                BindingSource bs = new BindingSource();
                DataTable table = new DataTable();
                OleDbDataAdapter adapter = new OleDbDataAdapter(comm);
                adapter.Fill(table);
                bs.DataSource = table;
                dgvEmpl.DataSource = bs; //если на форме есть DataGridView (типа dataGridView1), выводите туда!
            }
 
        }
 
    }
}
0
9 / 9 / 4
Регистрация: 23.12.2015
Сообщений: 730
30.10.2016, 18:48  [ТС] 9
Блин я вроде "string connString" в это место и прописывал...

Сделал так

Кликните здесь для просмотра всего текста
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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
using System.Data.OleDb;
 
 
namespace AcsDtg_vpr.cbrfrm435
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
         // private DataGridView dgvEmpl = new DataGridView(); //а на форме нет DataGridView??  ОТВЕТ. Понял. закомментировал. Потом удалю
 
 
        private void button1_Click(object sender, EventArgs e)
        {
            string connString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;DataSource={0}", textBox1.Text);
            using (OleDbConnection conn = new OleDbConnection(connString))
            {
                string commText = "SELECT Код, ID, nom, наименование, кол FROM tabl1"; //запрос пишите свой!!!
                OleDbCommand comm = new OleDbCommand(commText, conn);
                BindingSource bs = new BindingSource();
                DataTable table = new DataTable();
                OleDbDataAdapter adapter = new OleDbDataAdapter(comm);
                adapter.Fill(table);
                bs.DataSource = table;
                dataGridView1.DataSource = bs; //если на форме есть DataGridView (типа dataGridView1), выводите туда!
            }
        }


ОШИБКА
В строке adapter.Fill(table);

Выдаёт ошибку
Необработанное исключение типа "System.Data.OleDb.OleDbException" в System.Data.dll
Дополнительные сведения: Could not find installable ISAM.


При первоначально изучении решений по данной ошибке требуется работа с реестром и переустановка офиса.
Пока продолжаю разбираться с ошибкой.

Может у вас будет какое-нибудь решение попроще?
Или может я допустил ошибку в коде..
0
Эксперт .NET
5877 / 4754 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
30.10.2016, 20:50 10
zakaz_77,
возможные причины:
1) нет драйвера для OLEDB.12.0 (не установлен MS Office, или установлена версия <2003)
2) неправильно сформирована строка подключения
3) неправильно введены путь и/или имя файла БД


Смотрю и не вижу, что пробела то нужного нет в строке:
Цитата Сообщение от zakaz_77 Посмотреть сообщение
C#
1
string connString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;DataSource={0}", textBox1.Text);
Между Data и Source
1
9 / 9 / 4
Регистрация: 23.12.2015
Сообщений: 730
30.10.2016, 23:58  [ТС] 11
))
Какой ужас... три часа рыл интернет

Проблема была в "пробеле" в DataSource={0}.
Data Source={0} правильно писать с пробелом между Data и Source

Доработал код
1. Подключил dataGridView2.
2. Сделал отдельные фильтры по диапазонам для:
- dataGridView1;
- dataGridView2;
3. Прописал фильтрацию по ID. Не работает!

Привожу код
Кликните здесь для просмотра всего текста
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
65
66
67
68
69
70
71
72
73
74
75
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
using System.Data.OleDb;
 
 
namespace AcsDtg_vpr.cbrfrm435
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
      private void button1_Click(object sender, EventArgs e)
        {
          
            string connString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0}", textBox1.Text);
            using (OleDbConnection conn = new OleDbConnection(connString))
            {
                string commText = "SELECT Код, ID, nom, наименование, кол FROM tabl1"; //запрос пишите свой!!!
                OleDbCommand comm = new OleDbCommand(commText, conn);
 
                /// *** DGRV 1
                BindingSource bs = new BindingSource();          
                DataTable table = new DataTable();
                OleDbDataAdapter adapter = new OleDbDataAdapter(comm);
                adapter.Fill(table);
                bs.DataSource = table;
                dataGridView1.DataSource = bs; //если на форме есть DataGridView (типа dataGridView1), выводите туда!
 
 
                //// * DGRV 1 ФИЛЬТР по диапазону
                string filter;
                // if (textBox2.Text != string.Empty) //если что-то введено в textBox2, то
                filter = string.Format(" [Nom] >= 11 and [Nom] <= 13");//добавляем условие для фильтрации по второму полю
                bs.Filter = filter; //применяем фильтр
 
 
 
                /// *** DGRV 2
                BindingSource bs1 = new BindingSource();
                DataTable table1 = new DataTable();
                adapter.Fill(table1);
                bs1.DataSource = table1;
                dataGridView2.DataSource = bs1;
 
                //// * DGRV 2 ФИЛЬТР по диапазону
                if (textBox2.Text != string.Empty) //если что-то введено в textBox2, то
                    filter = string.Format(" [Nom] >= 31 and [Nom] <= 33");//добавляем условие для фильтрации по второму полю
                bs1.Filter = filter; //применяем фильтр        
               
            }
        }
 
        // ФИЛЬТРАЦИЯ ПО ID
        private void button2_Click(object sender, EventArgs e)
        {
 
            if (textBox2.Text != string.Empty)
                bs.Filter += string.Format(" and [ID] = {0}", textBox2.Text); //добавляем условие для фильтрации по первому полю
 
            // ВАР. 2. ФИЛЬТРАЦИЯ
            if (textBox2.Text != string.Empty)
                bs1.Filter += string.Format(" and [ID] = {0}", textBox2.Text); //добавляем условие для фильтрации по первому полю
 
         }


ВОПРОСЫ
1. Как исправить ошибку с строках 70 и 74?
bs, bs1 Подчёркнуто красным. Привожу скрин

2. Как избавиться от фильтра по диапазонам?
Т.е. при отладке один раз отфильтровал.
Потом я закомментировал строки с фильтром по диапазонам. ()
строки 57-60, 42-46.
Запускаю отладку, а таблицы dataGridView1, dataGridView2 так и остались отфильтрованы по диапазону
На сколько мне опыт позволяет предположить, то
2.1. можно кнопку сделать типа
Кликните здесь для просмотра всего текста
C#
1
2
    bs.Filter = null;
    bs1.Filter = null;


2.2. Или через Form1_Load
Не могли бы вы посоветовать, что-нибудь и по варианту 2.1 и по 2.2.
Миниатюры
Можно ли через код создать BindingSource?  
0
Эксперт .NET
5877 / 4754 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
31.10.2016, 00:22 12
Цитата Сообщение от zakaz_77 Посмотреть сообщение
1. Как исправить ошибку с строках 70 и 74?
Объявить bs, bs1 как поля класса формы. Инициализировать можно в методе. Т.е.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
namespace AcsDtg_vpr.cbrfrm435
{
    public partial class Form1 : Form
    {
        BindingSource bs, bs1;
        //...
        private void button1_Click(object sender, EventArgs e)
        {
            //...
            bs = new BindingSource();
            //...
            bs1 = new BindingSource();
        }
        //...
    }
}
Цитата Сообщение от zakaz_77 Посмотреть сообщение
таблицы dataGridView1, dataGridView2 так и остались отфильтрованы по диапазону
Что-то не верится, что фильтр остался при следующем запуске программы.
Вообще фильтр можно снять так:
C#
1
bs.Filter = "";
А уж где выполнять эту команду: в загрузчике формы или в обработчике щелчка по кнопке, решайте сами.
1
9 / 9 / 4
Регистрация: 23.12.2015
Сообщений: 730
31.10.2016, 09:16  [ТС] 13
Цитата Сообщение от Даценд Посмотреть сообщение
Что-то не верится, что фильтр остался при следующем запуске программы.
Действительно при последующих отладках проблема исчезла

КОРРЕКТИРОВКИ
1. Добавил
C#
1
BindingSource bs, bs1;
согласно поста #12

КОД
Кликните здесь для просмотра всего текста
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
65
66
67
68
69
70
71
72
73
namespace AcsDtg_vpr.cbrfrm435
{
    public partial class Form1 : Form
    {
        BindingSource bs, bs1;
        public Form1()
        {
            InitializeComponent();
        }
 
        
        private void Form1_Load(object sender, EventArgs e)
        {
            
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
                        
            string connString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0}", textBox1.Text);
            using (OleDbConnection conn = new OleDbConnection(connString))
            {
             
                string commText = "SELECT Код, ID, nom, наименование, кол FROM tabl1"; //запрос пишите свой!!!
                OleDbCommand comm = new OleDbCommand(commText, conn);
 
                /// *** DGRV 1
                BindingSource bs = new BindingSource();                
                DataTable table = new DataTable();
                OleDbDataAdapter adapter = new OleDbDataAdapter(comm);
                adapter.Fill(table);
                bs.DataSource = table;
                dataGridView1.DataSource = bs; //если на форме есть DataGridView (типа dataGridView1), выводите туда!
 
               
                //// * DGRV 1 ФИЛЬТР по диапазону
                string filter;
                // if (textBox2.Text != string.Empty) //если что-то введено в textBox2, то
                filter = string.Format(" [Nom] >= 11 and [Nom] <= 13");//добавляем условие для фильтрации по второму полю
                bs.Filter = filter; //применяем фильтр
 
 
 
                /// *** DGRV 2
                BindingSource bs1 = new BindingSource();
                DataTable table1 = new DataTable();
                OleDbDataAdapter adapter1 = new OleDbDataAdapter(comm);
                adapter1.Fill(table1);
                bs1.DataSource = table1;
                dataGridView2.DataSource = bs1;
 
               
 
                //// * DGRV 2 ФИЛЬТР по диапазону
                if (textBox2.Text != string.Empty) //если что-то введено в textBox2, то
                    filter = string.Format(" [Nom] >= 31 and [Nom] <= 33");//добавляем условие для фильтрации по второму полю
                bs1.Filter = filter; //применяем фильтр        
 
            }
        }
 
        // ФИЛЬТРАЦИЯ ПО ID
        private void button2_Click(object sender, EventArgs e)
        {
            // ФИЛЬТРАЦИЯ ПО ID DGRV 1 
            if (textBox2.Text != string.Empty)
                bs.Filter += string.Format(" and [ID] = {0}", textBox2.Text); //добавляем условие для фильтрации по первому полю
 
            // ФИЛЬТРАЦИЯ ПО ID DGRV 2
            if (textBox2.Text != string.Empty)
                bs1.Filter += string.Format(" and [ID] = {0}", textBox2.Text); //добавляем условие для фильтрации по первому полю
 
         }


ВОПРОСЫ
1. После корректировки п.1
появилось сообщение
"CS0649 Полю "Form1.bs" нигде не присваивается значение, поэтому оно всегда будет иметь значение по умолчанию null."
Как от него избавиться?
2. Как сделать чтобы фильтрация dataGridView1 и dataGridView2 происходила по разным условиям?
dataGridView1 фильтруется по условию " [Nom] >= 11 and [Nom] <= 13"
dataGridView2 фильтруется по условию " [Nom] >= 31 and [Nom] <= 33"

На данный момент dataGridView1 и dataGridView2 фильтруются только по условию " [Nom] >= 11 and [Nom] <= 13"

3. При попытке отфильтровать по "ID" (button2_Click) выпадает ошибка "Ссылка на объект не указывает на экземпляр объекта." (прилагаю скрин)
Думаю это связано с п.1 ВОПРОСЫ
Как от этого избавиться?
Миниатюры
Можно ли через код создать BindingSource?  
0
Эксперт .NET
5877 / 4754 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
31.10.2016, 11:09 14
zakaz_77,
Сравните строки из моего сообщения:
C#
1
2
3
4
5
6
7
private void button1_Click(object sender, EventArgs e)
{
    //...
    bs = new BindingSource(); 
    //...
    bs1 = new BindingSource();
}
и свои строки 28 и 45:
Цитата Сообщение от zakaz_77 Посмотреть сообщение
C#
28
BindingSource bs = new BindingSource();
Цитата Сообщение от zakaz_77 Посмотреть сообщение
C#
45
BindingSource bs1 = new BindingSource();
и обратите внимание, что у меня здесь нет BindingSource перед bs и bs1.
1
9 / 9 / 4
Регистрация: 23.12.2015
Сообщений: 730
31.10.2016, 11:44  [ТС] 15
Заработало.
Хотя вроде так тоже делал...

Но вот с вопросом :
Цитата Сообщение от zakaz_77 Посмотреть сообщение
2. Как сделать чтобы фильтрация dataGridView1 и dataGridView2 происходила по разным условиям?
dataGridView1 фильтруется по условию " [Nom] >= 11 and [Nom] <= 13"
dataGridView2 фильтруется по условию " [Nom] >= 31 and [Nom] <= 33"
На данный момент dataGridView1 и dataGridView2 фильтруются только по условию " [Nom] >= 11 and [Nom] <= 13"
ничего не пойму

Добавлено через 21 минуту
Решил.
Строку 55 закоментировал
0
31.10.2016, 11:44
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.10.2016, 11:44
Помогаю со студенческими работами здесь

Datagridview и удаление строк через BindingSource
Здравствуйте, столкнулся с такой проблемой. Имеется БД SQL SERVER, в базе таблицы с identity...

Фильтрация данных через BindingSource.Filter
Необходимо произвести поиск сразу по нескольким столбцам типа int и string. Данный запрос работает...

Обновление dataGridView, привязанное к БД через bindingSource
Здравствуйте! Можете, пожалуйста, помочь? Только-только начала знакомиться с С# и БД, перерыла...

Можно ли создать бд через PDO?
Собственно вопрос, делать выборки и отправлять я научился, а как создавать бд... Можно ли? Поискал...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
Что такое NullReferenceEx­­­ception и как исправить?
InfoMaster 08.01.2025
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
Что такое Null Pointer Exception (NPE) и как это исправить?
InfoMaster 08.01.2025
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
Русский язык в консоли C++
InfoMaster 08.01.2025
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
Telegram бот на C#
InfoMaster 08.01.2025
Разработка ботов для Telegram стала неотъемлемой частью современной экосистемы мессенджеров. C# предоставляет мощный и удобный инструментарий для создания разнообразных ботов, от простых. . .
Использование GraphQL в Go (Golang)
InfoMaster 08.01.2025
Go (Golang) является одним из наиболее популярных языков программирования, используемых для создания высокопроизводительных серверных приложений. Его архитектурные особенности и встроенные. . .
Что лучше использовать при создании класса в Java: сеттеры или конструктор?
Alexander-7 08.01.2025
Вопрос подробнее: На вопрос: «Когда одновременно создаются конструктор и сеттеры в классе – это нормально?» куратор уточнил: «Ваш класс может вообще не иметь сеттеров, а только конструктор и геттеры. . .
Как работать с GraphQL на TypeScript
InfoMaster 08.01.2025
Введение в GraphQL и TypeScript В современной разработке веб-приложений GraphQL стал мощным инструментом для создания гибких и эффективных API. В сочетании с TypeScript, эта технология. . .
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru