Quantcast
Channel: Active questions tagged blazor - Stack Overflow
Viewing all articles
Browse latest Browse all 4839

In Blazor, C# and Postgresql I can't make an INSERT INTO using Blazor EditForm

$
0
0

In Blazor EditForm I use C# and Postgresql to INSERT data from a EditForm (Blazor)into the database table.

But for some reason it doesn't approve the data. Instead there Is an error message for the C# script saying that

So basically what I want to accomplish is to INSERT data into Postgres Database Table by using the EditForm.

I use a Model attribute added to the EditForm alongside InputText with a @bind-Value as you can see in the code.

Here is the Razor File

@page "/register"@using Login.Models;@using Npgsql;@inject NavigationManager NavigationManager<PageTitle>Register</PageTitle><EditForm method="post" Model="Register2" OnValidSubmit="RegisterForm" FormName="Register" Enhance><label for="username">Username:</label><InputText id="username" @bind-Value="Register2.username"/><label for="email">Email:</label><InputText id="email" @bind-Value="Register2.email"/><label for="password">Password</label><InputText type="password" id="password" @bind-Value="Register2.password"/><button type="submit" class="btn btn-primary">Register</button></EditForm>@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");    }}

Here is the C# script

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();    }    }

Viewing all articles
Browse latest Browse all 4839

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>