Подключение моей программы к базе данных, но столкнулся с этой проблемой.
Сообщение об ошибке:
Параметризованный запрос '@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;
}