我是.NET环境的新手,并尝试编写一个简单的MVC应用程序来读取学生数据并将其显示给最终用户。我已经使用sqloledb连接到数据库,该代码在下面粘贴了。从查询获得的数据存储在类型DataTable的变量中。现在,我想以JSON输出的形式看到查询的内容结果,我对我必须创建一个新的控制器有一个最淡淡的想法。但是我无法超越这一点。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.SqlClient;
using System.Data;
namespace Database.model
{
public class student
{
public int id { get; set; }
public string name { get; set; }
private string age { get; set; }
public DataTable GETSQLServerData()
{
//Connect
var _connectionobject = new SqlConnection();
_connectionobject.ConnectionString = @"Provider=SQLOLEDB;Data Source=PHYSICSSQLEXPRESS;Persist Security Info=true;Initial Catalog=master;Integrated Security=True; provider = SQLOLEDB;";
_connectionobject.Open();
//Command
var _commandObject = new SqlCommand();
_commandObject.CommandText = "select * from dbo.tblStudent";
//Execute
_commandObject.ExecuteReader();
//Data
var _dataReader = _commandObject.ExecuteReader();
DataTable obj2 = new DataTable();
obj2.Load(_dataReader);
_connectionobject.Close();
return obj2;
}
}
}
如果有人能在这方面帮助我
您可以将数据词对象转换为POCO对象
如何将数据词转换为ASP.NET MVC中的POCO对象?
然后将Poco对象返回浏览器。
最好的做法是创建一个可以保存学生数据并返回该类对象的类,而不是像这样的数据表。
// you student model class
public class Student
{
// public properties of student...
}
在您的数据访问类中填充此学生对象列表,然后返回到MVC操作方法。
//then in your MVC action method
IEnumerable<Student> students = GETSQLServerData();
return this.Json(students , JsonRequestBehavior.AllowGet);
关于您的代码的几点:
1-避免在C#代码中使用SQL语句,切换到存储 过程。
2-使用数据模型层并创建学生类来定义学生 型号。
3-使用数据ACCCESS层调用SQL存储的Proc
4-注入依赖性以避免紧密耦合的类。
希望这会有所帮助!