1

Тема: Не додає новий запис до бд ms sql

Добрий день, допоможіть мені будь ласка,
при спробі добавити новий запис до бд нічого не відбувається,
скоріш за все проблема в запиті або бд.

Метод який додає до бд новий запис

       private void InsertCategory()
        {
            try
            {
                connect.Open();
                string command = "INSERT INTO TypesCosts([Name], [Description]) VALUES(N'" + textBox1.Text + "','"+ textBox2.Tex + "');";
                SqlCommand myCommand = new SqlCommand(command, connect);
                if (myCommand.ExecuteNonQuery() > 0)
                {
                    MessageBox.Show("Запис додано.");
                }
                else MessageBox.Show("Введіть коректні дані.");
            }
            catch (SqlException ex)
            {
                Console.WriteLine(ex.Message);
            }
            finally
            {
                connect.Close();
            }
        }

Таблиця TypesCosts

CREATE TABLE [dbo].[TypesCosts] (
    [idTypesCosts] INT           IDENTITY (1, 1) NOT NULL,
    [Name]         NVARCHAR (50) NULL,
    [Description]  NVARCHAR (50) NULL,
    PRIMARY KEY CLUSTERED ([idTypesCosts] ASC)
);

2

Re: Не додає новий запис до бд ms sql

Якщо не відбувається НІЧОГО, то ви не викликаєте цю функцію.
Має бути або  MessageBox.Show, або Console.WriteLine. Ну, або ж стається якийсь інший Exception, не SqlException, але він теж має бути десь оброблений.

Подякували: leofun011

3

Re: Не додає новий запис до бд ms sql

koala написав:

Якщо не відбувається НІЧОГО, то ви не викликаєте цю функцію.
Має бути або  MessageBox.Show, або Console.WriteLine. Ну, або ж стається якийсь інший Exception, не SqlException, але він теж має бути десь оброблений.

+1
думаю що там щось на рівні конекту до бази, ну або ще щось
для початку в catch спробуйте відловити усі винятки - просто замініть тип SqlException на Exception

4

Re: Не додає новий запис до бд ms sql

Так Exception все одно десь вилетить. А не відбувається НІЧОГО.

Подякували: Engineer1

5

Re: Не додає новий запис до бд ms sql

koala написав:

Так Exception все одно десь вилетить. А не відбувається НІЧОГО.

Точно.
Але зловив себе на думці, що не знаю, як відобразиться необроблений Exception в консольній аплікусі, не запущеній зі Студії - просто вивалиться мовчки програма чи щось матюкнеться ?

Подякували: koala1

6

Re: Не додає новий запис до бд ms sql

Я вже виправив помилку,раніше коли я створював бд, то я не поставив властивість IDENTITY.
Коли вмене вже виникла помилка з додаванням нового запису до бд я тоді додав властивість IDENTITY, але я ще забув змінти шлях до бд

            connect.ConnectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\....Database1.mdf;Integrated Security=True;Asynchronous Processing=True";

7

Re: Не додає новий запис до бд ms sql

cryoffiar написав:

Я вже виправив помилку,раніше коли я створював бд, то я не поставив властивість IDENTITY.
Коли вмене вже виникла помилка з додаванням нового запису до бд я тоді додав властивість IDENTITY, але я ще забув змінти шлях до бд

            connect.ConnectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\....Database1.mdf;Integrated Security=True;Asynchronous Processing=True";

Щоб уникати помилок з некоректним ConnectionString варто після  connect.Open() робити перевірку чи встановилося з'єднання
if (connect.State == ConnectionState.Open)

Подякували: cryoffiar1