我正在做一个学校项目,我们正在预订电影院。该计划的标准之一是在列表中显示数据库中的所有电影。
我知道这可能是一个非常简单的问题,但我需要一个指向正确方向的指针。
如何制作包含电影所有数据的电影对象(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();
答案 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;