Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
11 / 11 / 10
Регистрация: 28.11.2013
Сообщений: 81

Добавление в базу данных. Не инициализировано свойство connection

20.05.2015, 11:12. Показов 1874. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Хочу добавить записи в БД но получается следующее:
Название: 1.png
Просмотров: 54

Размер: 5.4 Кб
Укорачиваю записи и получается следующее:

Вот сам проект:
union.zip
И код:
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
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.SqlClient;
namespace union
{
    public partial class Dobav : Form
    {
        SqlConnection cn = new SqlConnection(@"Data Source=ivan-пк;Initial Catalog=union;Integrated Security=True");
        SqlCommand cmd = new SqlCommand();
        SqlDataReader dr;
        public Dobav()
        {
            InitializeComponent();
 
            
        }
 
        private void Dobav_Load(object sender, EventArgs e)
        {
 
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            if (int.Parse(textBox1.Text) != null || textBox2.Text != "" || int.Parse(textBox3.Text) != null || int.Parse(textBox4.Text) != null || int.Parse(textBox5.Text) != null || textBox6.Text != "" || int.Parse(textBox7.Text) != null)
            {
                try
                {
                    cn.Open();
 
                    //cmd.CommandText = "insert into rabotnik (Tabel,FIO,INN,snils,datarozhd,mestorozhd,Telefon) VALUES (" + int.Parse(textBox1.Text) + ",'" + textBox2.Text + "'," + int.Parse(textBox3.Text) + "," + int.Parse(textBox4.Text) + "," + int.Parse(textBox7.Text) + ",'" + int.Parse(textBox5.Text) + "'," + textBox6.Text + ")";
 
                   cmd.CommandText = "insert into [rabotnik] (Tabel,FIO,INN,snils,datarozhd,mestorozhd,Telefon) values (" + int.Parse(textBox1.Text) + "," + textBox2.Text + "," + int.Parse(textBox3.Text) + "," + int.Parse(textBox4.Text) + "," + int.Parse(textBox7.Text) + "," + int.Parse(textBox5.Text) + "," + textBox6.Text + ")";
                    cmd.ExecuteNonQuery();
                    MessageBox.Show("Новый работник успешно добавлен");
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, ex.GetType().ToString(), MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                finally
                {
                    cn.Close();
                }
            }
            else
            {
                MessageBox.Show("Заполнены не все поля");
            }
        }
    }
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.05.2015, 11:12
Ответы с готовыми решениями:

ExecuteNonQuery: Свойство Connection не инициализировано
как исправить ошибку, не подскажите??? private void button1_Click_1(object sender, EventArgs e) { myCon = new...

ExecuteNonQuery: Свойство Connection не инициализировано
У меня ошибка при использовании кнопки. Можете помочь? private void button12_Click(object sender, EventArgs e) { ...

ExecuteReader: Свойство Connection не инициализировано
При обработке, выскакивает ошибка. Подскажите пожалуйста, что я неправильно делаю protected void Button1_Click(object sender, EventArgs...

4
 Аватар для Cupko
658 / 595 / 171
Регистрация: 17.07.2012
Сообщений: 1,682
Записей в блоге: 1
20.05.2015, 11:28
IvanLeviathan, 3 темы вниз такая же ситуация.
Вам надо команду привязать к соединению...
Либо:
C#
1
SqlCommand cmd = cn.CreateCommand();
либо:
C#
1
2
SqlCommand cmd = new SqlCommand();
cmd.Connection = cn;
0
11 / 11 / 10
Регистрация: 28.11.2013
Сообщений: 81
20.05.2015, 12:04  [ТС]
Cupko

Вот новый код и новая ошибка:
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.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace union
{
    public partial class Dobav : Form
    {
        SqlConnection cn = new SqlConnection(@"Data Source=ivan-пк;Initial Catalog=union;Integrated Security=True");
        SqlCommand cmd = new SqlCommand();
        
        SqlDataReader dr;
        public Dobav()
        {
            InitializeComponent();
 
            
        }
 
        private void Dobav_Load(object sender, EventArgs e)
        {
 
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            if (int.Parse(textBox1.Text) != null || textBox2.Text != "" || int.Parse(textBox3.Text) != null || int.Parse(textBox4.Text) != null || int.Parse(textBox5.Text) != null || textBox6.Text != "" || int.Parse(textBox7.Text) != null)
            {
                try
                {
                    
                    cn.Open();
                    cmd.Connection = cn;
                    //cmd.CommandText = "insert into rabotnik (Tabel,FIO,INN,snils,datarozhd,mestorozhd,Telefon) VALUES (" + int.Parse(textBox1.Text) + ",'" + textBox2.Text + "'," + int.Parse(textBox3.Text) + "," + int.Parse(textBox4.Text) + "," + int.Parse(textBox7.Text) + ",'" + int.Parse(textBox5.Text) + "'," + textBox6.Text + ")";
 
                   cmd.CommandText = "insert into [rabotnik] (Tabel,FIO,INN,snils,datarozhd,mestorozhd,Telefon) values (" + int.Parse(textBox1.Text) + ",N'" + textBox2.Text + "'," + int.Parse(textBox3.Text) + "," + int.Parse(textBox4.Text) + "," + int.Parse(textBox7.Text) + "," + int.Parse(textBox5.Text) + ",N'" + textBox6.Text + "')";
                    cmd.ExecuteNonQuery();
                    MessageBox.Show("Новый работник успешно добавлен");
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, ex.GetType().ToString(), MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                finally
                {
                    cn.Close();
                }
 
 
 
            }
            else
            {
                MessageBox.Show("Заполнены не все поля");
            }
        }
    }
}
Вложение 530906
Хотя я нигде не преобразовываю.
0
20.05.2015, 12:15

Не по теме:

IvanLeviathan, Вложение не существует или не указан идентификатор (номер)

0
 Аватар для wm_leviathan
214 / 214 / 73
Регистрация: 12.01.2011
Сообщений: 767
20.05.2015, 12: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
public string connStr = "";
public object SetData(SqlCommand cmd, bool modeSelect)
        {
            try
            {
                using (SqlConnection con = new SqlConnection(connStr))
                {
                    con.Open();
                    using (SqlDataAdapter dataAdapter = new SqlDataAdapter(cmd))
                    {
                        dataAdapter.SelectCommand.Connection = con;
                        dataAdapter.SelectCommand = cmd;
                        DataTable table = new DataTable();
                        table.Locale = System.Globalization.CultureInfo.InvariantCulture;
                        dataAdapter.Fill(table);
                        if (modeSelect)
                            return table;
                        else
                        return true;
                    }
                }
            }
            catch (Exception ex)
            {
                if (modeSelect)
                    return null;
                else
                    return true;
            }
        }
Вызываю так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
string strSql = "insert into tsg.dbo.bankTable(nameBank, inn, kpp, rschet, stDel) VALUES(@nameBank, @inn, @kpp, @rschet, @stDel)";
 
                SqlCommand command = new SqlCommand(strSql);
                command.Parameters.Add("@nameBank", SqlDbType.NVarChar).Value = _txtNameBank.Text;
                command.Parameters.Add("@inn", SqlDbType.NVarChar).Value = _txtInn.Text;
                command.Parameters.Add("@kpp", SqlDbType.NVarChar).Value = _txtKpp.Text;
                command.Parameters.Add("@rschet", SqlDbType.NVarChar).Value = _txtRschet.Text;
                command.Parameters.Add("@stDel", SqlDbType.Bit).Value = false;
                
                if ((bool)dataClass.SetData2(command, false))
                {
                    MessageBox.Show("Реквизиты успешно сохранены.", "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    SqlCommand commandSelect = new SqlCommand(Classes.SqlQueryClass.RekvizBankShowAll);
                    
                    spr._bsBankRekviz.DataSource = dataClass.SetData2(commandSelect,true);
                    this.Close();
                }
                else
                {
                    MessageBox.Show("Ошибка сохранения реквизитов.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
(bool)dataClass.SetData2(command, false) - тут инсертит
spr._bsBankRekviz.DataSource = dataClass.SetData2(commandSelect,true); - тут select идет

Может приготися, работает на ура у меня. да и код сократился на порядок, + запросы не в виде
C#
1
"insert into [rabotnik] (Tabel,FIO,INN,snils,datarozhd,mestorozhd,Telefon) values (" + int.Parse(textBox1.Text) + ",N'" + textBox2.Text + "'," + int.Parse(textBox3.Text) + "," + int.Parse(textBox4.Text) + "," + int.Parse(textBox7.Text) + "," + int.Parse(textBox5.Text) + ",N'" + textBox6.Text + "')";
а нормальный параметризованные запросы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.05.2015, 12:17
Помогаю со студенческими работами здесь

ExecuterReader: Свойство Connection не инициализировано
Здравствуйте, помогите,пожалуйста SqlConnection con = new SqlConnection(connectionString); try { con.Open(); string sql...

Свойство Connection для DeleteCommand не инициализировано
Запускаю проект, выделяю полностью строку, удаляю ее с помощью кнопки "del", сохраняю изменения - выходит ошибка : "Свойство...

System.InvalidOperationException: "ExecuteReader: Свойство Connection не инициализировано."
static void Main(string args) { String connection = @"Data Source=77.73.92.10,6121;Initial...

Свойство ConnectionString не инициализировано
Не понимаю почему не работает помогите using System; using System.Collections.Generic; using System.ComponentModel; using...

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru