2011-08-31 53 views
0

我編寫了評論頁面。它的工作正常,但所有SELECTED記錄正在使用Response.Write(dr[0].ToString());顯示,但使用Response.Write我們不能有序地管理它們。所以,我決定在Labels顯示記錄,但我不想使用分頁。因此,現在要在每次更新記錄時自動添加新的Set,Labels(即set是一組標籤名稱,電子郵件,網站和評論)?生成無限制標籤

我也嘗試使用Labels而不是Response.Write,但在標籤中只顯示最後一條記錄。

請告訴我如何顯示每組記錄中的每個記錄labels

我的代碼如下。

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Data.Odbc; 

public partial class comment : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 

     string MyConString = "DRIVER={MySQL ODBC 3.51 Driver};" + "SERVER=localhost;" + "DATABASE=test_com;" + "UID=root;" + "PASSWORD=*****;" + "OPTION=3"; 
     OdbcConnection MyConnection = new OdbcConnection(MyConString); 

      MyConnection.Open(); 
      OdbcCommand cmd = new OdbcCommand("Select name, email, website, comments from awm_comments", MyConnection); 
      OdbcDataReader dr = cmd.ExecuteReader(); 
      if (dr.HasRows == false) 
      { 
       throw new Exception(); 
      } 
      while (dr.Read()) 
      { 
       Response.Write(dr[0].ToString()); 
       Response.Write(dr[1].ToString()); 
       Response.Write(dr[2].ToString()); 
       Response.Write(dr[3].ToString()); 

       /* test using labels. Being displayed only last record. 
       Label1.Text = dr[0].ToString(); 
       Label2.Text = dr[1].ToString(); 
       Label3.Text = dr[2].ToString(); 
       Label4.Text = dr[3].ToString(); 
       */ 
      } 
    } 
    protected void Submit_Click(object sender, EventArgs e) 
    { 
     string name = tb_name.Text; 
     string email = tb_email.Text; 
     string website = tb_website.Text; 
     string comment = tb_comment.Text; 

     string MyConString = "DRIVER={MySQL ODBC 3.51 Driver};" + "SERVER=localhost;" + "DATABASE=test_com;" + "UID=root;" + "PASSWORD=******;" + "OPTION=3"; 
     OdbcConnection MyConnection = new OdbcConnection(MyConString); 
     OdbcCommand cmd = new OdbcCommand("INSERT INTO awm_comments(name, email, website, comments, notify)VALUES(?, ?, ?, ?, ?)", MyConnection); 
     cmd.Parameters.Add("@email", OdbcType.VarChar, 255).Value = name; 
     cmd.Parameters.Add("@alternate_email", OdbcType.VarChar, 255).Value = email; 
     cmd.Parameters.Add("@ipaddr", OdbcType.VarChar, 255).Value = website; 
     cmd.Parameters.Add("@security_question", OdbcType.VarChar, 255).Value = comment; 
     if (cb_notify.Checked == true) 
     { 
      int not = 1; 
      cmd.Parameters.Add("@security_question", OdbcType.Int, 11).Value = not; 
     } 
     else if (cb_notify.Checked == false) 
     { 
      int not = 0; 
      cmd.Parameters.Add("@security_question", OdbcType.Int, 11).Value = not; 
     } 
     MyConnection.Open(); 
     cmd.ExecuteNonQuery(); 
     MyConnection.Close(); 
    } 
} 

回答

1

試試這個:

Label1.Text += dr[0].ToString() + "<br/>"; 
Label2.Text += dr[1].ToString() + "<br/>"; 
Label3.Text += dr[2].ToString() + "<br/>"; 
Label4.Text += dr[3].ToString() + "<br/>"; 

+=運營商添加文本的Labels<br/>現有文本換行

+0

太棒了。這工作正常,但第一個標籤的所有記錄按順序顯示,然後是第二個。我需要以SET方式。 – Mal