Попытка вставить данные в базу данных в формах c #, но получение этого сообщения об ошибке при нажатии кнопки вставки. Параметр не указан - PullRequest
0 голосов
/ 19 июня 2019

Подключение моей программы к базе данных, но столкнулся с этой проблемой.

Сообщение об ошибке:

Параметризованный запрос '@first_name nvarchar (1), @last_name nvarchar (1), @email nvarchar (' ожидает параметр '@username', который не указан.

Абсолютно потерян, не совсем уверен, что говорит сообщение об ошибке.

Вот мой код для вставки данных в таблицы базы данных SQL Server. Любой совет приветствуется.

public bool Insert(userBLL u)
{
    bool Success = false;

    SqlConnection conn = new SqlConnection(myconnstrng);

    try
    {
        String sql = "INSERT INTO tbl_users (first_name, last_name, email, username, password, contact, address, gender, user_type, added_date, added_by) VALUES (@first_name, @last_name, @email, @username, @password, @contact, @address, @gender, @user_type, @added_date, @added_by)";

        SqlCommand cmd = new SqlCommand(sql, conn);

        cmd.Parameters.AddWithValue("@first_name", u.first_name);
        cmd.Parameters.AddWithValue("@last_name", u.last_name);
        cmd.Parameters.AddWithValue("@email", u.email);
        cmd.Parameters.AddWithValue("@username", u.username);
        cmd.Parameters.AddWithValue("@password", u.password);
        cmd.Parameters.AddWithValue("@contact", u.contact);
        cmd.Parameters.AddWithValue("@address", u.address);
        cmd.Parameters.AddWithValue("@gender", u.gender);
        cmd.Parameters.AddWithValue("@user_type", u.user_type);
        cmd.Parameters.AddWithValue("@added_date", u.added_date);
        cmd.Parameters.AddWithValue("@added_by", u.added_by);

        conn.Open();

        int rows = cmd.ExecuteNonQuery();

        // value of rows will be greater than 0 or else
        if (rows > 0)
        {
            Success = true; 
        }
        else
        {
            Success = false;
        }
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
    finally
    {
        conn.Close();
    }

    return Success;
}

Ответы [ 2 ]

1 голос
/ 19 июня 2019

После просмотра вашего кода, в регионе (#region Insert data to database), которым вы поделились, я думаю, что в вашем коде проблем не было.

Убедитесь, что объект userBLL не равен нулю, который вы передали в функцию Insert.Так что отладьте ваш код еще раз.

0 голосов
/ 19 июня 2019

Наблюдая за вашим кодом, единственная причина этой ошибки выглядит так, как будто объект userbill имеет нулевое значение для имени пользователя.Так что отладьте его один раз, а затем поделитесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...