1

これは、1 つのレコードだけを取得する場合の aspx コードです。

            conn = new SqlConnection(cs);
            string sql = "SELECT * FROM [school_database].[arrest_school].[registration_allstudent] where RegistrationId='llts4da2'";
            SqlCommand cmd = new SqlCommand(sql, conn);
            conn.Open();
            reader = cmd.ExecuteReader();
            reader.Read();
            Model.Registration regis = new Model.Registration();
            regis.Address = reader["Address"].ToString();
            return regis;

今、私はすべてのレコードを取得し、レジス配列を返したいと思っています。どうやってするの。読み取りで行をカウントする方法と、レジス配列に入力する方法を知っています。Regis には 5 つのフィールドがあります...Address、city、name、class、phoneno

4

2 に答える 2

0

すべてのレコードを読み取る 1 つの方法は次のとおりです。

using(IDataReader reader = cmd.ExecuteReader())
{
    List<Registration> result  = new List<Registration>();
    while(reader.Read())
    {
        result.Add(new Registration{Address=reader["Address"].ToString()});
    }
    return result;
}

別の方法は次のとおりです。

DataTable t = new DataTable();
t.Load(cmd.ExecuteReader);
var result  = from c in t.AsEnumerable()
              select new Registration{Address=c.Field<string>("Address")};
return result.ToList();
于 2012-11-15T16:32:48.640 に答える
0
            int i = 0;
            Model.Registration regis = new Model.Registration();
            if (reader.HasRows)
            {
                do
                {
                    i++;
                    regis.Address = regis.Address + reader["Address"].ToString();
                } while (reader.Read());
            }
            regis.Address = i.ToString() + " " + regis.Address;
            return regis;

もっと簡単な方法を探していました...これも役に立ちました

于 2012-11-16T17:12:15.613 に答える