Изменения не отображаются в локальной базе данных SQL Server Express после отправки формы Razor PageC#

Место общения программистов C#
Ответить
Anonymous
 Изменения не отображаются в локальной базе данных SQL Server Express после отправки формы Razor Page

Сообщение Anonymous »

Я пытаюсь подключиться к локальной базе данных SQL Server Express, но когда я отправляю форму с помощью страницы .cshtml.cs, данные не появляются в таблице после выполнения команды. Я не уверен, что это проблема с подключением или проблема с запросом, поскольку я не получаю никаких сообщений об ошибках.
Я читал в Интернете, что иногда изменения могут попасть в базу данных папки отладки, но мне не удалось заставить их решение работать на меня.
Вот класс, который я использую для команд базы данных:

Код: Выделить всё

using Microsoft.Data.SqlClient;

public class DbController
{
public DbController()
{
}

public void AggiungiUtente(string email, string pass, string ruolo)
{
using (SqlConnection conn = new SqlConnection("Data Source=(localdb)\\MSSQLLocalDB;Initial Catalog=DomainDb;Integrated Security=True;Connect Timeout=30;Encrypt=False;Trust Server Certificate=False;Application Intent=ReadWrite;Multi Subnet Failover=False"))
{
try
{
conn.Open();
string query = "INSERT INTO Utente (Email, PasswordHash, DataCreazione, Ruolo) VALUES (Email, PasswordHash, DataCreazione, Ruolo)";
SqlCommand cmd = new SqlCommand(query, conn);
cmd.ExecuteNonQuery();
conn.Close();
}
catch (Exception ex)
{
Console.WriteLine("Errore nella connessione :( " + ex.Message);
}
}
}
}
Вот форма страницы Razor:

Код: Выделить всё

@page "/aggiungiutenti"
@{Layout = null;}








Form Layouts | Porto Admin - Responsive HTML5 Template







































Email:





Password:





Ruolo:


Amministratore
Utente



Invia 







И файл cshtml.cs, обрабатывающий форму:

Код: Выделить всё

using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;

namespace DomainManager.Pages
{
public class AggiungiUtentiModel : PageModel
{

private readonly DbController _DbController;

public AggiungiUtentiModel()
{
_DbController = new DbController();
}

public IActionResult OnPost(string email, string password, string ruolo)
{
if(ModelState.IsValid)
{
_DbController.AggiungiUtente(email, password, ruolo);

return Page();
}

else return Page();
}
}
}
Я проверил строку подключения и код, который должен вставить данные в таблицу, но когда я проверяю базу данных, она по-прежнему отображается как пустая.
Проблема в том, что хотя ошибок не возникает, база данных не отражает изменения. Мне все кажется довольно простым, но я не знаю, где еще искать. Любая помощь приветствуется!

Подробнее здесь: https://stackoverflow.com/questions/790 ... age-form-s
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»