Member 13528556 Ответов: 1

Я не могу понять эту ошибку не могли бы вы помочь найти этот ответ


Это вопрос времени для меня, чтобы работать с этой программой.могли бы мольбы, как найти это решение

Произошло исключение SQL
Устранение Неполадок Исключения: System.Data.SqlClient.SqlException

Невозможно вставить значение NULL в столбец 'UserID', таблицу 'UserRegitrationDB.dbo.tblUser'; столбец не допускает значений null. Вставить не удается.

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

namespace LoginForm
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();


        private void button1_Click(object sender, EventArgs e)
        {
            if (txtUserName.Text == "" || txtConfirmPassword.Text == "")
                MessageBox.Show("Please Fill Mandatory Field");
            else if (txtPassword.Text != txtConfirmPassword.Text)
                MessageBox.Show("Password do not Match");
            else
            {
                using (SqlConnection sqlcon = new SqlConnection(connectionstring))
                {
                    sqlcon.Open();
                    SqlCommand sqlcmd = new SqlCommand("UserAdd",sqlcon);
                    sqlcmd.CommandType = CommandType.StoredProcedure;
                    sqlcmd.Parameters.AddWithValue("@FirstName", txtFirstName.Text.Trim());
                    sqlcmd.Parameters.AddWithValue("@LastName", txtLastName.Text.Trim());
                    sqlcmd.Parameters.AddWithValue("@Contact", txtContact.Text.Trim());
                    sqlcmd.Parameters.AddWithValue("@Address", txtAddress.Text.Trim());
                    sqlcmd.Parameters.AddWithValue("@UserName", txtUserName.Text.Trim());
                  
                    sqlcmd.ExecuteNonQuery();
                    MessageBox.Show("Registration is Successfull");
                    clear();
                }
            }
        }
        void clear()
        {
            txtFirstName.Text = txtLastName.Text = txtContact.Text = txtAddress.Text = txtUserName.Text = txtPassword.Text = txtConfirmPassword.Text = "";
        }
    }
}

Richard MacCutchan

Послание не могло быть яснее.

1 Ответов

Рейтинг:
2

OriginalGriff

Мы понятия не имеем, для чего предназначен этот код, а тем более то, что он делает то, чего вы не ожидали, или не делает то, что вы сделали. И мы не можем проверить это, потому что у нас нет доступа к вашей хранимой процедуре, а тем более к вашим фактическим данным.

Так что все будет зависеть от тебя.
Поместите точку останова в первую строку функции и запустите код через отладчик. Затем посмотрите на свой код и на свои данные и определите, что должно произойти вручную. Затем по одному шагу в каждой строке проверяйте, что то, что вы ожидали, произойдет именно так, как и произошло. Когда это не так, тогда у вас есть проблема, и вы можете вернуться назад (или запустить ее снова и посмотреть более внимательно), чтобы выяснить, почему.

Извините, но мы не можем сделать это за вас - пришло время вам освоить новый (и очень, очень полезный) навык: отладку!

Но не делай этого так! Никогда не храните пароли в открытом виде - это серьезная угроза безопасности. Здесь есть некоторая информация о том, как это сделать: Хранение паролей: как это сделать.[^]


Member 13528556

спасибо..... Грифф я буду учиться, что

OriginalGriff

Всегда пожалуйста!

Richard Deeming

Насколько я могу судить, он вообще не хранит пароли! :Д