数据库中的对象填充列表

时间:2014-05-09 09:41:43

标签: c# sql wcf

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

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

如何制作包含电影所有数据的电影对象(movieIDmovieNamemovieLengthmovieDesc

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

我们正在使用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();

2 个答案:

答案 0 :(得分:3)

您可以选择使用像NHibernation这样的休眠层或者来自Microsoft的bettwer 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; }
}

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

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();
    }
}

答案 1 :(得分:0)

您可以尝试使用此代码填写下拉列表,网格等。

SqlConnection sc = new SqlConnection("Data Source=balder.ucn.dk;Initial Catalog=dmaa0213_6;********");

string query="SELECT * FROM movies ORDER BY MovieId";

datatable dt=new datatatable(); //using system.data;

sc.Open();

SqlCommand com = new SqlCommand(query,sc);

SqlDataAdapter da=new SqlDataAdapter(com );

da.fill(dt);

sc.Close();

dt中此代码的结果将包含数据库中的所有数据。

使用dt.rows.count;

检查数据库表是否包含数据