Уважаемый, я использую бритвенные страницы. Этот код предназначен для вызова данных счета-фактуры, хранящихся в таблице Titem, а также для обновления этих данных. Проблема в том, что когда я нажимаю кнопку «Обновить», появляется сообщение: «Обновление завершено успешно» и ничего не обновляется.
Я проверил все имена в форме в таблице, и они полностью идентичны, о чем свидетельствует тот факт, что код вызова данных для их отображения работает хорошо и данные счета-фактуры отображаются.
using AfterFix.Pages.Clients;
using AfterFix.Pages.Items;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using Microsoft.AspNetCore.Mvc.Rendering;
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
namespace AfterFix.Pages.Sales
{
public class EditModel : PageModel
{
private readonly string _connectionString = "Data Source=DESKTOP-9CABSPL\\SQLEXPRESS;Initial Catalog=mystore;Integrated Security=True;MultipleActiveResultSets=true";
public string ErrorMessage { get; set; }
public string SuccessMessage { get; set; }
public List Items { get; set; } = new List();
public List InvoiceItems { get; set; } = new List();
public IActionResult OnGet(int InvNo)
{
try
{
using (SqlConnection connection = new SqlConnection(_connectionString))
{
connection.Open();
string query = "SELECT ItemName, ItemQuantity, Price, InvNo FROM Titem WHERE InvNo = @InvNo";
using (SqlCommand command = new SqlCommand(query, connection))
{
command.Parameters.AddWithValue("@InvNo", InvNo);
using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
InvoiceItems.Add(new InvoiceItem
{
ItemName = reader["ItemName"].ToString(),
ItemQuantity = Convert.ToInt32(reader["ItemQuantity"]),
Price = Convert.ToDecimal(reader["Price"]),
InvNo = InvNo
});
}
}
}
}
return Page();
}
catch (Exception ex)
{
ErrorMessage = ex.Message;
return Page();
}
}
public IActionResult OnPost()
{
try
{
string connectionString = "Server=DESKTOP-9CABSPL\\SQLEXPRESS;Database=mystore;Trusted_Connection=True;MultipleActiveResultSets=true";
var InvNo = Request.Form["InvNo"];
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
foreach (var item in InvoiceItems)
{
string itemName = item.ItemName;
var ItemQuantity = Request.Form[$"ItemQuantity_{item.ItemName}"];
var price = Request.Form[$"Price_{item.ItemName}"];
string itemSql = "UPDATE Titem SET ItemQuantity = @ItemQuantity, Price = @Price WHERE InvNo = @InvNo AND ItemName = @ItemName";
using (SqlCommand itemCommand = new SqlCommand(itemSql, connection))
{
itemCommand.Parameters.AddWithValue("@ItemQuantity", Convert.ToInt32(ItemQuantity));
itemCommand.Parameters.AddWithValue("@Price", Convert.ToDecimal(price));
itemCommand.Parameters.AddWithValue("@InvNo", InvNo);
itemCommand.Parameters.AddWithValue("@ItemName", itemName);
itemCommand.ExecuteNonQuery();
}
}
}
SuccessMessage = "Data saved successfully";
return Page();
}
catch (Exception ex)
{
ErrorMessage = ex.Message;
return Page();
}
}
public class InvoiceItem
{
public string ItemName { get; set; }
public int ItemQuantity { get; set; }
public int InvNo { get; set; }
public decimal Price { get; set; }
}
}
}
@page
@model AfterFix.Pages.Sales.EditModel
@{
ViewData["Title"] = "Edit Invoice";
}
Edit Invoice
@if (Model.InvoiceItems.Count > 0)
{
Item Name
Quantity
Price
Total
@foreach (var item in Model.InvoiceItems)
{
@item.ItemName
@(item.ItemQuantity * item.Price)
}
Save
}
else
{
No items found for this invoice.
}
@if (!string.IsNullOrEmpty(Model.ErrorMessage))
{
@Model.ErrorMessage
}
@if (!string.IsNullOrEmpty(Model.SuccessMessage))
{
@Model.SuccessMessage
}
Подробнее здесь: https://stackoverflow.com/questions/785 ... azor-pages
Я не могу обновить свою таблицу sql на страницах бритвы ⇐ C#
Место общения программистов C#
-
Anonymous
1716133638
Anonymous
Уважаемый, я использую бритвенные страницы. Этот код предназначен для вызова данных счета-фактуры, хранящихся в таблице Titem, а также для обновления этих данных. Проблема в том, что когда я нажимаю кнопку «Обновить», появляется сообщение: «Обновление завершено успешно» и ничего не обновляется.
Я проверил все имена в форме в таблице, и они полностью идентичны, о чем свидетельствует тот факт, что код вызова данных для их отображения работает хорошо и данные счета-фактуры отображаются.
using AfterFix.Pages.Clients;
using AfterFix.Pages.Items;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using Microsoft.AspNetCore.Mvc.Rendering;
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
namespace AfterFix.Pages.Sales
{
public class EditModel : PageModel
{
private readonly string _connectionString = "Data Source=DESKTOP-9CABSPL\\SQLEXPRESS;Initial Catalog=mystore;Integrated Security=True;MultipleActiveResultSets=true";
public string ErrorMessage { get; set; }
public string SuccessMessage { get; set; }
public List Items { get; set; } = new List();
public List InvoiceItems { get; set; } = new List();
public IActionResult OnGet(int InvNo)
{
try
{
using (SqlConnection connection = new SqlConnection(_connectionString))
{
connection.Open();
string query = "SELECT ItemName, ItemQuantity, Price, InvNo FROM Titem WHERE InvNo = @InvNo";
using (SqlCommand command = new SqlCommand(query, connection))
{
command.Parameters.AddWithValue("@InvNo", InvNo);
using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
InvoiceItems.Add(new InvoiceItem
{
ItemName = reader["ItemName"].ToString(),
ItemQuantity = Convert.ToInt32(reader["ItemQuantity"]),
Price = Convert.ToDecimal(reader["Price"]),
InvNo = InvNo
});
}
}
}
}
return Page();
}
catch (Exception ex)
{
ErrorMessage = ex.Message;
return Page();
}
}
public IActionResult OnPost()
{
try
{
string connectionString = "Server=DESKTOP-9CABSPL\\SQLEXPRESS;Database=mystore;Trusted_Connection=True;MultipleActiveResultSets=true";
var InvNo = Request.Form["InvNo"];
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
foreach (var item in InvoiceItems)
{
string itemName = item.ItemName;
var ItemQuantity = Request.Form[$"ItemQuantity_{item.ItemName}"];
var price = Request.Form[$"Price_{item.ItemName}"];
string itemSql = "UPDATE Titem SET ItemQuantity = @ItemQuantity, Price = @Price WHERE InvNo = @InvNo AND ItemName = @ItemName";
using (SqlCommand itemCommand = new SqlCommand(itemSql, connection))
{
itemCommand.Parameters.AddWithValue("@ItemQuantity", Convert.ToInt32(ItemQuantity));
itemCommand.Parameters.AddWithValue("@Price", Convert.ToDecimal(price));
itemCommand.Parameters.AddWithValue("@InvNo", InvNo);
itemCommand.Parameters.AddWithValue("@ItemName", itemName);
itemCommand.ExecuteNonQuery();
}
}
}
SuccessMessage = "Data saved successfully";
return Page();
}
catch (Exception ex)
{
ErrorMessage = ex.Message;
return Page();
}
}
public class InvoiceItem
{
public string ItemName { get; set; }
public int ItemQuantity { get; set; }
public int InvNo { get; set; }
public decimal Price { get; set; }
}
}
}
@page
@model AfterFix.Pages.Sales.EditModel
@{
ViewData["Title"] = "Edit Invoice";
}
Edit Invoice
@if (Model.InvoiceItems.Count > 0)
{
Item Name
Quantity
Price
Total
@foreach (var item in Model.InvoiceItems)
{
@item.ItemName
@(item.ItemQuantity * item.Price)
}
Save
}
else
{
No items found for this invoice.
}
@if (!string.IsNullOrEmpty(Model.ErrorMessage))
{
@Model.ErrorMessage
}
@if (!string.IsNullOrEmpty(Model.SuccessMessage))
{
@Model.SuccessMessage
}
Подробнее здесь: [url]https://stackoverflow.com/questions/78503119/i-cant-update-my-sql-table-in-razor-pages[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия