我正在使用 VS 2019、SQL Server 2016,我嘗試使用 ADO.NET 更新注冊表,但出現錯誤:
ConnectionString 屬性尚未初始化
控制器:
如果我使用這個:
con = new SqlConnection(ConfigurationManager.ConnectionStrings["DevConnection"].ConnectionString);
我得到錯誤:
Object reference not set to an instance of an object.'
如果我使用:
con = new SqlConnection(appSettings.Value.DbConnection);
我得到:
The ConnectionString property has not been initialized.
其余代碼:
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@UserId", Convert.ToInt32(user.UserId));
cmd.Parameters.AddWithValue("@DateOfBirth", user.DateOfBirth);
cmd.Parameters.AddWithValue("@UserNames", user.UserNames);
cmd.Parameters.AddWithValue("@UserLastNames", user.UserLastNames);
cmd.Parameters.AddWithValue("@UserPlatformName", user.UserPlatformName);
cmd.Parameters.AddWithValue("@UserPassword", user.UserPassword);
cmd.Parameters.AddWithValue("@UserGender", user.UserGender);
cmd.Parameters.AddWithValue("@UserDocumentNumber", Convert.ToInt32(user.UserDocumentNumber));
con.Open();
result = cmd.ExecuteScalar().ToString();
message.Data = result.ToString();
}
catch (Exception e)
{
Console.WriteLine(e.Message);
message.Data = e.Message;
}
finally
{
con.Close();
}
獲取連接的類:
public class MySettings
{
public string DbConnection { get; set; }
}
啟動時:
services.Configure<MySettings>(Configuration.GetSection("ConnectionStrings"));
程式,流程:
ALTER PROCEDURE [dbo].[SPUpdateUser]
(@UserId INTEGER,
@DateOfBirth DATE,
@UserNames NVARCHAR(30),
@UserLastNames NVARCHAR(30),
@UserPlatformName VARCHAR(30),
@UserPassword NVARCHAR(15),
@UserGender NVARCHAR(9),
@UserDocumentNumber INTEGER)
AS
BEGIN
SET NOCOUNT ON;
UPDATE Users
SET DateOfBirth = @DateOfBirth,
UserNames = @UserNames,
UserLastNames = @UserLastNames,
UserPlatformName = @UserPlatformName,
UserPassword = @UserPassword,
UserGender = @UserGender,
UserDocumentNumber = @UserDocumentNumber
WHERE
UserId = @UserId
END
在郵遞員中,我發送:
{
"userId": 1,
"dateOfBirth": "1980-1-1",
"userNames": "James",
"userLastNames": "Rodriguez",
"userPlatformName": "1",
"userPassword": "1234",
"userGender": "Masculino",
"userDocumentNumber": 1,
"relatives": []
}
這兩個整數有他們的演員,所以......為什么我會得到這個錯誤?
我該如何解決這個問題?
專案編譯,我在 VS 中沒有看到任何錯誤
appsettings.json
"ConnectionStrings": {
"DevConnection": "Data Source=DESKTOP-ARVMMP2\\SQLEXPRESS;Initial Catalog=PraxedesDb;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"
},
uj5u.com熱心網友回復:
ConfigurationManager不適appsettings.json用于 ASP.NET Core,您可以使用下面的 ikeIConfiguration代替:ConfigurationManager
public class HomeController : Controller
{
private readonly IConfiguration Configuration;
public HomeController(IConfiguration Configuration)
{
this.Configuration = Configuration;
}
public async Task<IActionResult> Index()
{
var con = new SqlConnection(Configuration.GetConnectionString("DevConnection"));
return View();
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/426955.html
標籤:sql服务器 asp.net 核心 存储过程 控制器 ado.net
上一篇:使用MQ發送訊息失敗
