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

Добавление данных о клиенте в DataGrid

05.05.2024, 21:53. Показов 705. Ответов 5

Author24 — интернет-сервис помощи студентам
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
private DataBase dataBase;
        SqlConnection sqlConnection = new SqlConnection(@"Data Source=Kira2005;Initial Catalog=ЗБ;Integrated Security=True;Encrypt=True;Trust Server Certificate=True;User Instance=False;Context Connection=False;Multi Subnet Failover=False");
 
        public Добавление_клиента()
        {
            InitializeComponent();
            dataBase = new DataBase();
        }
 
 
private void Dobb_Click(object sender, RoutedEventArgs e)
        {
            dataBase.openConnection();
            var name = Name.Text;
            var surname = Surname.Text;
            var address = Address.Text;
            var mail = Mail.Text;
            var phone = Phone.Text;
            var query = $"INSERT INTO Clients (Имя, Фамилия, Адрес, Почта, Номер_телефона) values ('{Name}','{Surname}','{Address}','{Mail}','{Phone}')";
 
            Управление_клиентами I = new Управление_клиентами();
            var add = MessageBox.Show($"Вы добавляете клиента. \nПродолжить действие?", "Золотой Банан", MessageBoxButton.YesNo);
            if (add == MessageBoxResult.Yes) 
            {
                SqlCommand createCommand = new SqlCommand(query, dataBase.sqlConnection);
                createCommand.ExecuteNonQuery();
                MessageBox.Show($"Клиент успешно добавлен", "Золотой Банан");
                I.Show();
                this.Close();
            }
            dataBase.closeConnection();
 
        }
Ошибка: CS0122 "DataBase.sqlConnection" недоступен из-за его уровня защиты

Добавлено через 17 минут
Я изменила код на:
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
public partial class Добавление_клиента : Window
    {
        private DataBase dataBase;
        SqlConnection sqlConnection = new SqlConnection(@"Data Source=Kira2005;Initial Catalog=ЗБ;Integrated Security=True;Encrypt=True;Trust Server Certificate=True;User Instance=False;Context Connection=False;Multi Subnet Failover=False");
 
        public Добавление_клиента()
        {
            InitializeComponent();
            dataBase = new DataBase();
        }
 
private void Dobb_Click(object sender, RoutedEventArgs e)
        {
            dataBase.openConnection();
            var name = Name.Text;
            var surname = Surname.Text;
            var address = Address.Text;
            var mail = Mail.Text;
            var phone = Phone.Text;
            var query = $"INSERT INTO Clients (Имя, Фамилия, Адрес, Почта, [Номер телефона]) values ('{Name}','{Surname}','{Address}','{Mail}','{Phone}')";
 
            Управление_клиентами I = new Управление_клиентами();
            var add = MessageBox.Show($"Вы добавляете клиента. \nПродолжить действие?", "Золотой Банан", MessageBoxButton.YesNo);
            if (add == MessageBoxResult.Yes) 
            {
                SqlCommand createCommand = new SqlCommand(query, dataBase.getConnection());
                createCommand.ExecuteNonQuery();
                MessageBox.Show($"Клиент успешно добавлен", "Золотой Банан");
                I.Show();
                this.Close();
            }
            dataBase.closeConnection();
 
        }
Но выдаёт ошибку: Microsoft.Data.SqlClient.SqlException: "Произойдет усечение строковых или двоичных данных в столбце "Имя" таблицы "ЗБ.dbo.Clients". Усеченное значение: "System.Win".
Выполнение данной инструкции было прервано."
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.05.2024, 21:53
Ответы с готовыми решениями:

Добавление данных в таблицу DataGrid
Код добавление виден на скринах Ошибка при добавлении

Создание столбца в DataGrid и добавление данных
Всем привет! Как в DataGrid создать 4 столбца и циклом добавить в них: в первом столбце - чекбокс...

Добавление в DataGrid заранее не известного числа столбцов с привязкой данных
В целом вопрос в заголовке, но если поточнее: У меня есть данные, пусть будут в виде: public...

EF Добавление данных в таблицу DataGrid со внешним ключом через другую форму
Всем привет. Пишу курсовую работу и столкнулась с крайне сложной задачей (для меня) — осуществить...

Происходит добавление значения из textbox в datagrid, которая привязана к базе данных, в чем ошибка?
При нажатии на кнопку происходит добавление значения из textbox в datagrid, которая привязана к...

5
Модератор
Эксперт .NET
15704 / 10875 / 2824
Регистрация: 21.04.2018
Сообщений: 31,920
Записей в блоге: 2
06.05.2024, 08:08 2
Цитата Сообщение от haritoshaaa___ Посмотреть сообщение
Data.SqlClient.SqlException:
Вопрос не имеет отношения к WPF? поэтому переместил в раздел ADO.

Цитата Сообщение от haritoshaaa___ Посмотреть сообщение
Управление_клиентами
Не по теме.
Что за эпидемия в последний месяц напала на начинающих - все массово стали использовать русские именования?
Мой совет: не хотите выглядеть лузером - не нарушайте официальные Правила Именования, в том числе имена должны быть осмысленными на АНГЛИЙСКОМ языке.
0
0 / 0 / 0
Регистрация: 17.04.2024
Сообщений: 7
06.05.2024, 09:24  [ТС] 3
Элд Хасп, к сожалению, это не моя прихоть называть по-русски, а преподаватель так сказал делать...
0
Модератор
Эксперт .NET
15704 / 10875 / 2824
Регистрация: 21.04.2018
Сообщений: 31,920
Записей в блоге: 2
06.05.2024, 09:52 4
Цитата Сообщение от haritoshaaa___ Посмотреть сообщение
а преподаватель так сказал делать...
Уже второй раз слышу такой ответ.
Вы все что ли на одном курсе учитесь?

Цитата Сообщение от Элд Хасп Посмотреть сообщение
Цитата Сообщение от zloving Посмотреть сообщение
для нашего диплома надо чтобы всё было на русском (читабельно - по мнению преподавателей)
Беги от этих долб...в!
Ничему хорошему они не научат.
2
1248 / 831 / 254
Регистрация: 08.08.2014
Сообщений: 2,408
06.05.2024, 10:40 5
Лучший ответ Сообщение было отмечено haritoshaaa___ как решение

Решение

Цитата Сообщение от haritoshaaa___ Посмотреть сообщение
Произойдет усечение строковых или двоичных данных в столбце
Ошибка сообщает, что размер текстового поля (максимальная длина) в базе данных меньше, чем длина строки, которую вы пытаетесь туда записать.

Добавлено через 18 минут
А ещё, вот в этой строке:
C#
1
var query = $"INSERT INTO Clients (Имя, Фамилия, Адрес, Почта, [Номер телефона]) values ('{Name}','{Surname}','{Address}','{Mail}','{Phone}')";
Вы вставляете в строку не текст из контролов, а сами экезмпляры контролов, которые через дефолтную реализацию 'ToString' преобразовываются в полные имена классов (то самое 'System.Win...' из текста вашей ошибки).

Добавлено через 44 секунды
Вероятно, вы имели ввиду?
C#
1
var query = $"INSERT INTO Clients (Имя, Фамилия, Адрес, Почта, [Номер телефона]) values ('{Name.Text}','{Surname.Text}','{Address.Text}','{Mail.Text}','{Phone.Text}')";
Добавлено через 41 секунду
Ну или, учитывая что чуть выше вы эти значения зачем-то во временные переменные перекладываете, то так?
C#
1
var query = $"INSERT INTO Clients (Имя, Фамилия, Адрес, Почта, [Номер телефона]) values ('{name}','{surname}','{address}','{mail}','{phone}')";
1
2643 / 1902 / 356
Регистрация: 14.08.2018
Сообщений: 6,133
Записей в блоге: 4
06.05.2024, 10:49 6
haritoshaaa___, Используйте параметры запроса, избавитесь от 99% ошибок с данными, которые передаются в запрос.
1
06.05.2024, 10:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.05.2024, 10:49
Помогаю со студенческими работами здесь

Добавление данных из textbox второй формы на Datagrid первой формы
Такой вопрос. У меня на первой форме есть DataGrid с подключенной БД. мне нужно, чтобы...

Сравнение данных из одного Datagrid с значением в БД и занесение результата в другой Datagrid
Помогите разобраться. На форме есть две Datagrid: 1) dgv1 в нее загружаются данные из эксель для...

Отображение данных в одном datagrid при клике в другом datagrid
Здравствуйте! Хотел уточнить, как можно реализовать возможность при клике на форме в dataGrid1,...

Перенос данных из трех таблиц DataGrid в другую таблицу DataGrid
Коллеги, всем добрый день!. Прошу у Вас помощи вот в таком вопросе. Я разрабатываю БД подход...

Привязка данных к DataGrid внутри DataGrid.RowDetailsTemplate
Это может показаться запутанным,но постарайтесь понять. У меня есть List в котором хранятся объекты...

Получение данных сервером от БД и отображение данных в клиенте DataGridView
Подскажите пожалуйста, как в C# полученные данные сервером из Базы данных(sqlite) передать клиенту...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru