【发布时间】:2015-03-26 17:55:43
【问题描述】:
我正在做一个学校项目,但我被困住了。 我想要做的是.. 通过按下页面上的按钮来调用执行读取 sql 查询的方法。然后它创建填充了来自查询的信息的模型对象,并将它们放在一个列表中。一旦列表被填满,它应该返回一个显示所有对象的视图。 (在我的情况下,视图将显示 sql 数据库中存在的所有“订单”)
我的按钮代码(我的方法叫:LaadBestellingen,我的Controller叫Beheer:
<button type="button" onclick="location.href='@Url.Action("LaadBestellingen", "Beheer")'"> LOAD ORDERS </button>
这是 BeheerController 方法:
public ActionResult LaadBestellingen()
{
try
{
conn.Open();
String selectQuery = "SELECT voornaam, achternaam, adres, postcode, email, telefoon, totaalprijs , datum FROM bestelling b JOIN klant k ON k.idklant = b.idklant JOIN product p ON p.idproduct = b.idproduct;";
MySqlCommand cmd = new MySqlCommand(selectQuery, conn);
MySqlDataReader dataReader = cmd.ExecuteReader();
List<Bestelling> bestellingenlijst = new List<Bestelling>();
while (dataReader.Read())
{
Bestelling bestelling = new Bestelling();
bestelling.Klantvoornaam = dataReader.GetString("voornaam");
bestelling.Klantachternaam = dataReader.GetString("achternaam");
bestelling.Klantadres = dataReader.GetString("adres");
bestelling.Klantpostcode = dataReader.GetString("postcode");
bestelling.Klantemail = dataReader.GetString("email");
bestelling.Klanttelefoon = dataReader.GetString("telefoon");
bestelling.Totaalprijs = dataReader.GetDouble("totaalprijs");
bestellingenlijst.Add(bestelling);
}
return View(bestellingenlijst);
}
catch (Exception e)
{
Console.Write("Er is een fout opgetreden tijdens laden van de bestellingen", e);
return View("Index");
}
finally
{
conn.Close();
}
}
最后这是我的观点的代码,它与方法 LaadBestellingen 同名:
@using WebWinkelGroep16.Models;
@model List<Bestelling>
略过一点html代码,这里假设是它显示的内容:
<div id="content">
<ul>
@{
foreach (Bestelling element in @Model)
{
<li> Voornaam: @element.Klantvoornaam <br /> </li>
<li> Achternaam: @element.Klantachternaam<br /></li>
<li> Adres: @element.Klantadres<br /></li>
<li> Postcode: @element.Klantpostcode<br /></li>
<li> Email: @element.Klantemail <br /></li>
<li> Telefoon: @element.Klanttelefoon<br /></li>
<li> Totaalprijs: @element.Totaalprijs<br /></li>
}
}
</ul>
</div>
我做错了什么?当我尝试执行 SQL 查询时,它就像一个魅力,并显示了所有被询问的信息。由于某种原因,它总是将我发送到 catch 中的返回视图。
【问题讨论】:
-
您遇到了什么异常?如果它进入 catch 块,那么就会出现问题。进入它并发布异常消息。这将使我们能够提供更多帮助
-
这就是问题所在……这是我第一次使用 MVC 和 Visual Studio。到目前为止,我只在 netbeans 环境中执行 java,其中每个执行都被控制台捕获。在这里我什至不知道在哪里寻找异常......:/
-
点击异常块中的返回视图行,按F9,这将使行变成红色,现在按F5,项目应该运行,当它到达红线时它会停止并且你可以将鼠标悬停在字母 e 上,您可以检查它的值。做一些阅读msdn.microsoft.com/en-us/library/y740d9d3.aspx
-
它说:+ {“'字段列表'中的未知列'基准'”} System.Exception {MySql.Data.MySqlClient.MySqlException}
-
但我什至没有在我的查询或任何地方选择该字段..
标签: c# sql asp.net-mvc model-view-controller