2011-10-14 20 views
10

Sto facendo una query per ottenere Title e RespondBY dalla tabella tbl_message, Voglio decifrare il Title prima di eseguire il databinding al ripetitore. Come posso accedere al valore del titolo prima di eseguire il databind.Ottieni un valore singolo da dataSet in asp.net

string MysqlStatement = "SELECT Title, RespondBy FROM tbl_message WHERE tbl_message.MsgID = @MsgID"; 

using (DataServer server = new DataServer()) 
{ 
    MySqlParameter[] param = new MySqlParameter[1]; 
    param[0] = new MySqlParameter("@MsgID", MySqlDbType.Int32); 
    param[0].Value = MessageID; 
    command.Parameters.AddWithValue("@MsgID", MessageID); 
    ds = server.ExecuteQuery(CommandType.Text, MysqlStatement, param); 
} 
rptList.DataSource = ds; 
rptList.DataBind(); 


    <table style="width: 498px; color: #F5F5F5;"> 
     <asp:Repeater ID="rptList" runat="server"> 
      <HeaderTemplate> 
      </HeaderTemplate> 
      <ItemTemplate> 
       <tr> 
        <td width="15%"> 
         <b>Subject</b> 
        </td> 
        <td width="60%"> 
         <asp:Label ID="lbl_Subj" runat="server" Text='<%#Eval("Title")%>' /> 
        </td> 
       </tr> 
+1

ds [0] ["Titolo"]? – Rob

+1

Nel tuo codice hai inserito un extra "," dopo "RespondBy". La query funziona correttamente? –

risposta

16

Probabilmente, come parte seguente codice è possibile ottenere il titolo e provare questa codifica prima

rptList.DataSource = ds; 
    rptList.DataBind(); 

Il seguente parte di codice può ottenere il titolo da dataset

string title = ds.Tables[0].Rows[0]["Title"].ToString(); 
0

Non so cosa vuoi dire decifrando, ma se vuoi modificare il Titolo applicando qualche logica su di esso, invece di vincolare il testo con il titolo puoi creare un metodo che prende come input un titolo d restituisce il testo decrittografato. Puoi vincolare l'etichetta a questo metodo, passandogli il titolo.

2

string title = ds.Tables [0] .Rows [0] [0] .ToString();

Ho usato l'indice al posto del nome del titolo. Preferenza personale.

Problemi correlati