-1

4 列のテーブルがあり、最後の列の行のみを取得して別のラベルで表示したい

id   username     useraddress   location  comments
1    explename    expleaddre1   va        *NULL*
2    explename2   expleaddre2   ma        mycomments
3    explename3   expleaddre3   la        mycomments
4    explename4   expleaddre4   ka        mycomments


SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
    lbluserid.Text = Convert.ToInt32(dr.GetString(0)).ToString();
    lblusername.Text = dr.GetString(1);
    lblusertitle.Text = dr.GetString(2);
    lst.Add(unt);
}
conn.Close();

そして私は得ていますUnable to cast object of type 'System.Int32' to type 'System.String'.

datareader を使用してコメントを取得し、それらを (NULL を除く) label1、label2、label3 に表示したい ...

dr.getstring() を使用しようとしましたが、 .. 、 dbnull の外側のような標準エラーが表示されます

どんな助けでも大歓迎

4

2 に答える 2

0
using (SqlCommand command = new SqlCommand("SELECT * FROM YourTable", connection))
{
    SqlDataReader reader = command.ExecuteReader();
    while (reader.Read())
    {
       string comments = reader.GetString(4);
       if (comments != null) 
           Console.WriteLine("Comments is {0}", comments);
       // Assign Text property of your labels..
    }
}
于 2013-05-17T22:14:54.260 に答える