2017-12-19 1 views
0

データベースのデータをクラスのリストに保存したいと思います。 残念ながら、私のWebページが完全にemply完全に空白であると... この私のコード:BEHINDデータベースからカスタムリストへのデータ

CODE:

protected void Page_Load(object sender, EventArgs e) 
{ 
    // Requête en chaînes de caractères qui sera utilisée pour récupérer les données dans la table Template 
    string request = "SELECT Id, Name, Content From Template"; 

    // Process principal 
    try 
    { 
     // Connexion à la base de données et à la table et utilisation de la requêtes SQL 
     SqlCommand cmd = new SqlCommand(request, connect); 
     connect.Open(); 

     // Exécution de la requête SQL 
     SqlDataReader sdr = cmd.ExecuteReader(); 

     // Si la commande comporte des lignes 
     if (sdr.HasRows) 
     { 
      sdr.Read(); 
      string temp_name = sdr["Name"].ToString(); 
      string temp_id = sdr["Id"].ToString(); 

      List<TemplateObject> Liste_template = new List<TemplateObject>() 
      { 
       new TemplateObject(temp_id,temp_name)  
      }; 
     } 
     GridView1.DataSource = Liste_template; 
     GridView1.DataBind(); 
    } 
    finally 
    { 
     connect.Close(); 
    } 
} 

コード私が作成したクラスから:

public class TemplateObject 
{ 
    string Id_template { get; set; } 
    string Name_template { get; set; } 

    public TemplateObject(string id, string name) 
    { 
     this.Id_template = id; 
     this.Name_template = name; 
    } 
} 

私は、1つのTemplateObjectと1つのFormObjectで構成され、2つのパラメータ(Tem plateObject):IDと名前。私は最初にFormObjectを作成するので、FormObjectを作成します。 私はこのようなデータを格納する必要があります。データソースはちょっと変わっていて、文字列でしか動作しません。あなたがループ

  • が必要

  • +0

    「私のウェブページは完全に空白です。エラーが発生していますか?デバッグするとき、特に何が起こるのですか? – David

    +0

    SQLサーバーが空である可能性がありますか? – BeGreen

    +0

    @BeGreen:データベースがいっぱいです。 –

    答えて

    1
    • そのループ
    • は今、あなたはGridViewDataSourceとして割り当てることができますループ

    List<TemplateObject> Liste_template = new List<TemplateObject>() 
    
    while(sdr.Read()) 
    { 
        string temp_name = sdr["Name"].ToString(); 
        string temp_id = sdr["Id"].ToString(); 
        TemplateObject newObject = new TemplateObject(temp_id,temp_name); 
        Liste_template.Add(TemplateObject) 
    } 
    

    でリストを記入する前にリストを作成:

    GridView1.DataSource = Liste_template; 
    GridView1.DataBind(); 
    
    +0

    どのように私はループを忘れることができますか?xD htmlコードはどうですか?私は列を追加しますか?元にしますか? –

    +0

    私はDataFieldプロパティ(値= "Id_template")でBoundFieldを使用し、 –

    +0

    私は最終的にcColumnsを表示するように管理しています。なぜなら、私のオブジェクトプロパティに "public"を書くのを忘れるからです。 –

    関連する問題