В Blazor, C# и Postgresql я не могу выполнить INSERT INTO с помощью Blazor EditForm.C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 В Blazor, C# и Postgresql я не могу выполнить INSERT INTO с помощью Blazor EditForm.

Сообщение Anonymous »

В 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
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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