2017-02-27 5 views
1

私は.NET環境が初めてで、単純なMVCアプリケーションを作成して学生データを読み込んでエンドユーザーに表示しようとしています。 SQLOLEDBを使用してデータベースに接続しました。そのコードは、以下に貼り付けられています。クエリから取得したデータは、DataTable型の変数に格納されていました。今私は新しいコントローラを作成しなければならないという賢明な考えを持ったJSON出力の形でクエリ結果の内容を見たいと思っています。しかし、私はこの点を超えて進めることはできません。DataTableをJSON/XMLコードとして表示するにはどうすればよいですか?

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=PHYSICS\SQLEXPRESS;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; 


    } 

} 
}       

誰もがこの点で私を助けることができれば、私は本当に感謝される

答えて

0

あなたは

How do I convert a datatable into a POCO object in Asp.Net MVC?

が、その後にそのPOCOオブジェクトをバック返すPOCOオブジェクトにDataTableオブジェクトに変換することができますブラウザ。

生徒データを保持し、データテーブルの代わりにそのクラスオブジェクトを返すクラスを作成することをお勧めします。

// 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); 

あなたのコードについていくつかのポイント:あなたのC#コードでSQL文を使用して

の1-避け、ストアドプロシージャ に切り替えます。

2-データモデルレイヤーを使用し、学生クラスを作成して、学生 モデルを定義します。密結合のクラスを避けるために、依存関係を注入するストアドプロシージャ

、4- SQLを呼び出すための

、3-使用するデータ・acccess層。

希望すると便利です。

関連する問題