Попытка получить и преобразовать возвращаемое значение в целое число.
Я пытаюсь сопоставить идентификатор пользователя (pk) в таблице "пользователи" с идентификатором пользователя (fk) в таблице "владельцы", но это, похоже, не работает.
Я получил регистрационную форму, которая будет вставлять все данные в обе эти таблицы.
Но это дает мне и ошибку на Доно (onwer), говоря, что мне нужно его преобразовать.
Что я уже пробовал:
Я получил следующий код:
protected void confirmarButton_Click(object sender, EventArgs e) { // int n = 0; if (primeiroNome.Text != "" & nomeDoMeio.Text != "" && sobrenome.Text != "" && dataDeNascimento.Text != "" && enderecoPostal1.Text != "" && cidade.Text != "" && email.Text != "" && username.Text != "" && password.Text != "" && confirmarPassword.Text != "") { if (password.Text == confirmarPassword.Text) { String CS = ConfigurationManager.ConnectionStrings["ClinicaAnimal"].ConnectionString; using (SqlConnection con = new SqlConnection(CS)) { // n = userIdNumber(); SqlCommand cmd2 = new SqlCommand("Insert into Users ([Username], [Password],[Tipo de User])Values('" + username.Text + "','" + Encrypt(password.Text.Trim()) + "','" + "Dono" + "')", con); // cmd2.Parameters.AddWithValue("@Password", Encrypt(password.Text.Trim())); SqlCommand cmd = new SqlCommand("Insert into Dono ([Primeiro Nome], [Nome do Meio], [Sobrenome], [Data de Nascimento], [Endereço Postal1], [Endereço Postal2], [Cidade], [Email], [UserID])Values('" + primeiroNome.Text + "','" + nomeDoMeio.Text + "','" + sobrenome.Text + "','" + dataDeNascimento.Text + "','" + enderecoPostal1.Text + " ','" + enderecoPostal2.Text + " ','" + cidade.Text + " ','" + email.Text + "','"+ "SELECT SCOPE_IDENTITY()" +"')", con); con.Open(); cmd2.ExecuteNonQuery(); cmd.ExecuteScalar(); Response.Redirect("~/Home.aspx"); } } else {
Richard Deeming
В дополнение к критической уязвимости SQL-инъекции в вашем коде, вы должны НИКОГДА храните пароли с помощью обратимого шифрования. Вы должны использовать безопасный односторонний алгоритм хэширования с уникальной солью для каждой записи.
Безопасная Аутентификация Паролем Объясняется Просто[^]
Соленое хэширование паролей - делаем это правильно[^]