![](/img/trans.png)
[英]Why am I getting the error "CREATE TABLE permission denied in database 'ELITEPROD'" when I'm trying to query a view in ASP.NET MVC5 using EF?
[英]Why am I getting a null pointer error in my view model ASP.NET MVC
我目前正在尝试从数据库中读取数据并将该数据发送到列表中,以便可以在列表中显示数据项但是,在我的 foreach 循环附近的视图中出现 null 指针错误。
Controller:
public ActionResult Index()
{
try
{
connection.Open();
SqlCommand myCommand = new SqlCommand("SELECT Firstname, ExerciseName, PR_Weight FROM Users, Exercises, PR WHERE Exercises.ExerciseID = PR.ExerciseID AND PR.Username = Users.Username AND Firstname = 'Evan' ", connection);
SqlDataReader myReader = myCommand.ExecuteReader();
Globals.PRList.Clear();
while (myReader.Read())
{
PRViewModel pr = new PRViewModel();
pr.PR_ID = (int)myReader["PR_ID"];
pr.Username = myReader["Username"].ToString();
pr.ExerciseID = (int)myReader["ExerciseID"];
pr.PR_Weight = (int)myReader["PR_Weight"];
pr.PR_Date = myReader["PR_Date"].ToString();
pr.Exercises.exerciseID = (int)myReader["ExerciseID"];
pr.Exercises.exercsieName = myReader["ExerciseName"].ToString();
Globals.PRList.Add(pr);
}
}
catch (Exception err)
{
ViewBag.Status = 0;
}
finally
{
connection.Close();
}
return View(Globals.PRList);
}
全局 Class:
public static class Globals
{
public static string myConnection = @"Data Source=TYRONSSPEEDYBOY\SQLEXPRESS02;Initial Catalog=PR_Tracker_DB1;Integrated Security=True";
public static List<PRViewModel> PRList = new List<PRViewModel>();
}
索引视图:
@foreach (PRViewModel pr in Model)
{
<tr>
<td>@pr.PR_ID</td>
<td>@pr.Username</td>
<td>@pr.ExerciseID</td>
<td>@pr.PR_Weight</td>
<td>@pr.PR_Date</td>
PRViewModel:
public PRViewModel()
{
Exercises = new ExerciseViewModel();
}
public int PR_ID { get; set; }
public string Username { get; set; }
public int ExerciseID { get; set; }
public int PR_Weight { get; set; }
public string PR_Date { get; set; }
public ExerciseViewModel Exercises { get; set; }
你 select 这些字段来自数据库
SELECT名字,ExerciseName,PR_Weight
但是您然后 go 读取读取器中不存在的几个值(因为您的查询没有返回它们)
尝试更正您的查询。 您的代码还假设这些字段都不是数据库中的 null,如果它们正在转换可能会失败。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.