我正在开发一个新的博客网站,其中的条目存储在 SQL Server 数据库中。我现在遇到的问题是将我的主页与 SQL Server 链接起来。我之前曾成功将程序连接到数据库。现在我尝试在 asp.net mvc 3 网站上使用相同的代码。
这个类我保存在models文件夹中。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.SqlClient;
namespace testingtesting.se.Models
{
public class msSQL
{
public SqlDataReader postList()
{
string connectionString = "Server=;Database=;User Id=;Password= ";
SqlConnection con = new SqlConnection(connectionString);
con.Open();
SqlCommand com = new SqlCommand("SELECT * FROM Post", con);
SqlDataReader reader = com.ExecuteReader();
return reader;
}
}
}
我是 asp.net mvc 3 的新手,但如果我正确理解所有内容,模型文件夹中的类会从数据库发送和接收数据,而控制器将数据发送到我现在正在尝试执行的视图。到目前为止,我已经尝试通过控制器将方法 postList 的结果发送到视图,然后视图以简洁的方式显示它。但我无法让它工作。
所以你的控制器可能看起来像:
public ActionResult Index()
{
msSQL mssql = new msSQL();
return View(mssql.postList());
}
您的视图可能如下所示:
@model SqlDataReader
@while(Model.read())
{
Model["columnName"]
}
但是,最佳实践是创建一个模型来表示您尝试从数据库中提取的数据,填充该模型,然后将此模型传递给视图,而不是将 SqlDataReader 传递给视图。
如果这没有帮助,请发布您遇到的错误/为什么它不起作用。