web-dev-qa-db-ja.com

asp.netのdataSetから単一の値を取得します

Tbl_messageテーブルからTitleとRespondBYを取得するクエリを実行しています。リピーターにデータバインディングを行う前に、Titleを復号化します。データバインドを行う前にタイトル値にアクセスするにはどうすればよいですか。

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>
11
Mark

おそらく、次のコード部分のように、タイトルを取得してこのコーディングを試すことができます

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

次のコード部分は dataset からタイトルを取得できます

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

文字列のタイトル= ds.Tables [0] .Rows [0] [0] .ToString();

タイトル名の代わりにインデックスを使用しました。個人の好み。

3
Sanford

復号化の意味がわかりませんが、ロジックを適用してタイトルを変更する場合は、テキストをTitleにバインドする代わりに、Titleを入力として受け取り、復号化されたテキストを返すメソッドを作成できます。ラベルをこのメソッドにバインドして、タイトルを渡すことができます。

0
Sidharth Panwar