从数据库到填充列表的对象

Mat*_*ech 0 c# sql wcf

我正在做一个学校项目,我们正在预订电影。该程序的标准之一是在列表中显示数据库中的所有电影。

我知道这可能是一个非常简单的问题,但我需要一个指向正确方向的指针。

如何制作包含电影所有数据的电影对象 ( movieID, movieName, movieLength, movieDesc)

如何使用此数据填充列表?

我们正在使用 C# 中的 WCF 在基于客户端/服务器的体系结构中编写程序

如果您需要进一步的阐述或细节,请告诉我。

提前致谢。这是我在数据库中创建电影的代码,我不确定如何从同一数据库创建电影对象,以在我的代码中使用。

SqlConnection sc = new SqlConnection();
sc.ConnectionString = ("Data Source=balder.ucn.dk;Initial Catalog=dmaa0213_6;********");
SqlCommand com = new SqlCommand();
sc.Open();
com.Connection = sc;
com.CommandText = ("INSERT into movies (movieName, movieLength, movieDescription) VALUES  ('" + movieName + "','" + movieLength + "','" + movieDesc + "');");
com.ExecuteNonQuery();
sc.Close();
Run Code Online (Sandbox Code Playgroud)

小智 5

您可以选择使用像 NHibernation 这样的休眠层或来自 Microsoft 的更好的 EntityFramework,或者,您必须手动进行。如果是这样,您必须像这样创建一个 Movie 对象:

public class Movie
{
    public string MovieID { get; set; }
    public string MovieName { get; set; }
    public string MovieLength { get; set; }
    public string MovieDesc { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

然后您可以将数据库查询读入阅读器并将对象填充到列表中,如下所示:

List<Movie> listOfMovies = new List<Movie>();

using(SqlConnection connection = new SqlConnection("Data Source=balder.ucn.dk;Initial Catalog=dmaa0213_6;********"))
{
    using(SqlCommand cmd = new SqlCommand(connection))
    {
        cmd.CommandString = "SELECT * FROM movies ORDER BY MovieId";
        connection.Open();
        using(SqlDataReader reader = cmd.ExecuteDataReader())
        {
            while(reader.Read())
            {
                Movie item = new Movie();
                item.MovieId = reader.GetInt32(0);
                item.MovieName = reader.GetString(1);
                item.MovieLength = reader.GetString(2);
                item.MovieDesc = reader.GetString(3);
                listOfMovies.Add(item);
            }
        }
        connection.Close();
    }
}
Run Code Online (Sandbox Code Playgroud)