В Blazor EditForm я использую C# и Postgresql для ВСТАВКИ данных из EditForm (Blazor)
в таблицу базы данных.
Но по какой-то причине он не одобряет данные. Вместо этого в сценарии C# появляется сообщение об ошибке, в котором говорится, что
По сути, я хочу вставить данные в таблицу базы данных Postgres с помощью EditForm.
Я использую атрибут Model, добавленный в EditForm вместе с InputText с @bind-Value, как вы можете видеть в коде.
Вот файл Razor сильный>
@page "/register"
@using Login.Models;
@using Npgsql;
@inject NavigationManager NavigationManager
Register
Username:
Email:
Password
Register
@code
{
[SupplyParameterFromForm] private Register2 Register2 { get; set; } = new();
private string connectionString;
public string? username { get; } = "";
public string? password { get; } = "";
public string? email { get; } = "";
private string localhost = "localhost";
private string user = "hidden";
private string pass = "hidden"
private string db = "hidden";
private string tbl = "hidden";
public async Task RegisterForm()
{
connectionString = $"host={localhost};username={user};password={pass};database={db}";
using var connection = new NpgsqlConnection(connectionString);
connection.Open();
var register = $@"insert into {tbl}(username, email, password) values(@username, @email, @password)";
var cmd = new NpgsqlCommand(register, connection);
cmd.Parameters.AddWithValue("@username", username);
cmd.Parameters.AddWithValue("@email", email);
cmd.Parameters.AddWithValue("@password", password);
cmd.ExecuteNonQuery();
NavigationManager.NavigateTo("/User");
}
}
Вот скрипт C#
namespace Login.Models;
using Npgsql;
public class Register2
{
private string connectionString;
public string username { get; set; }
public string password { get; set; }
public string email { get; set; } = "";
private string localhost = "localhost";
private string user = "postgres";
private string pass = "NewPass123";
private string db = "individual_assignment_db";
private string tbl = "users";
//Summarized you basically validate input with two form fields...
public Register2()
{
connectionString = $"host={localhost};username={user};password={pass};database={db}";
using var connection = new NpgsqlConnection(connectionString);
connection.Open();
var register = $@"insert into {tbl}(username, email, password) values(@username, @email, @password)";
var cmd = new NpgsqlCommand(register, connection);
cmd.Parameters.AddWithValue("@username", "Nick");
cmd.Parameters.AddWithValue("@email", "nickgatsfield@gmail.com");
cmd.Parameters.AddWithValue("@password", "abcdefgh");
cmd.ExecuteNonQuery();
}
}
Подробнее здесь: https://stackoverflow.com/questions/792 ... azor-editf
В Blazor, C# и Postgresql я не могу выполнить INSERT INTO с помощью Blazor EditForm. ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
В Blazor, C# и Postgresql я не могу выполнить INSERT INTO с помощью Blazor EditForm.
Anonymous » » в форуме C# - 0 Ответы
- 15 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Я получаю сообщение об ошибке «Синтаксическая ошибка в операторе INTO INSERT».
Гость » » в форуме C# - 0 Ответы
- 31 Просмотры
-
Последнее сообщение Гость
-
-
-
Как использовать один оператор INSERT INTO для нескольких строк в Python?
Anonymous » » в форуме Python - 0 Ответы
- 14 Просмотры
-
Последнее сообщение Anonymous
-
-
-
INSERT INTO через SQLAlchemy/MySQL не работает при выполнении с параметрами
Anonymous » » в форуме Python - 0 Ответы
- 24 Просмотры
-
Последнее сообщение Anonymous
-