Member 12795706 Ответов: 3

Пожалуйста, проверьте ошибку


кто-нибудь может мне помочь, пожалуйста?
Я не смог отобразить данные.
пожалуйста, исправьте утверждение try and catch

Что я уже пробовал:

private void btn_Save_Click(object sender, EventArgs e)
        {
            string date = dateTimePicker1.Text;
            string taskName = txt_TaskName.Text;
            string notes = txt_Notes.Text;

            if(txt_TaskName.Text!="" && txt_Notes.Text!="")
            {
                try
                {
                    String str = "Data Source=DESKTOP-CCDDCMC\\SQLEXPRESS;Initial Catalog=master;Integrated Security=True";
                    String query = "insert into tbl_Task(t_taskName,t_date,t_notes) values('" + taskName + "','" + date + "','" + notes + "')";
                    SqlConnection con = new SqlConnection(str);
                    SqlCommand cmd = new SqlCommand(query, con);

                    con.Open();
                    int result = cmd.ExecuteNonQuery();
                    if (result > 0)
                    {
                        MessageBox.Show("Data Saved Successfully.....");
                        DisplayData();

                        txt_TaskName.Text = "";
                        txt_Notes.Text = "";
                        dateTimePicker1.Text = "";
                    }

                    con.Close();
                }
                catch (Exception)
                {
                    MessageBox.Show("error");
                }
                
            }
            else
            {
                MessageBox.Show("Please Provide Details!");
            }      
        }

Suvendu Shekhar Giri

Совместное использование всей программы или приложения не поможет нам понять вашу проблему.
Какая часть вашего кода имеет проблемы?

[no name]

Научитесь пользоваться отладчиком.

ChrisHD22

Как сказал NotPolliticallyCorrect, используйте отладчик, чтобы узнать, какие строки кода создают конфликт и какова ошибка. Затем вы должны опубликовать вопрос о том, в чем заключается проблема, возникающая в вашем проекте.

Richard MacCutchan

Прекратите использовать конкатенацию строк в операторе INSERT и используйте правильные параметризованные запросы. По крайней мере, вы сможете лучше видеть, что происходит.

Karthik_Mahalingam

сообщение об ошибке?

3 Ответов

Рейтинг:
2

Patrice T

Цитата:
Не отображая данные, которые я хранил с помощью базы данных в C#
Вот вам 2 вопроса.
Либо ypu не удается восстановить данные,либо вы не можете отобразить их.
Отладчик покажет, что делает ваш код, он поможет вам определить проблему.

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

Отладчик позволяет вам следить за выполнением строка за строкой, проверять переменные, и вы увидите, что есть точка, в которой он перестает делать то, что вы ожидаете.
Отладчик-Википедия, свободная энциклопедия[^]
Освоение отладки в Visual Studio 2010 - руководство для начинающих[^]

Отладчик здесь для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.


Рейтинг:
2

Wendelius

Несколько пунктов:
- Вы не утилизируете объекты Sql*, это должно быть сделано, когда они больше не нужны
- Вы не используете параметры, поэтому вы уязвимы для SQL-инъекций и проблем преобразования типов
- вы скрываете фактическое исключение и просто показываете, что что-то пошло не так, вместо этого показываете фактическую причину

Я предлагаю пройти через Правильное выполнение операций с базой данных[^], в которой рассматриваются эти проблемы.


Рейтинг:
1

cvogt61457

Вот небольшое исправление, которое покажет, В чем заключается ошибка.
Вы только показываете в окне сообщения слово " ошибка"
Покажите сообщение об ошибке из исключения.
Однако вам нужно лучше узнать свой отладчик.

Отладчик - это один из самых важных инструментов, которые у вас есть.

try
{
    // your code here
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message);
}