在Blazor中创建一个服务,并从SQL Server存储过程中获取数据的解决方法如下所示:
首先,创建一个名为"DataService"的服务类,用于处理与SQL Server的交互:
using Microsoft.Data.SqlClient;
using System.Collections.Generic;
using System.Data;
public class DataService
{
private readonly string _connectionString;
public DataService(string connectionString)
{
_connectionString = connectionString;
}
public List GetDataFromStoredProcedure()
{
List data = new List();
using (SqlConnection connection = new SqlConnection(_connectionString))
{
using (SqlCommand command = new SqlCommand("YourStoredProcedureName", connection))
{
command.CommandType = CommandType.StoredProcedure;
connection.Open();
using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
string value = reader.GetString(0);
data.Add(value);
}
}
}
}
return data;
}
}
接下来,在Blazor页面中使用该服务获取数据:
@page "/your-page"
@inject DataService dataService
Data from SQL Server stored procedure:
@if (data != null)
{
foreach (string value in data)
{
@value
}
}
else
{
No data available
}
@code {
List data;
protected override void OnInitialized()
{
data = dataService.GetDataFromStoredProcedure();
}
}
确保将"YourStoredProcedureName"替换为实际的存储过程名称,并在需要的地方将"YourConnectionString"替换为SQL Server的连接字符串。
这样,当Blazor页面加载时,它将调用"DataService"服务中的"GetDataFromStoredProcedure"方法,从SQL Server存储过程中获取数据,并在页面上显示出来。
上一篇:Blazor创建数据库上下文
下一篇:Blazor触发自定义验证消息