从数据库到填充列表的对象
本文关键字:对象 列表 填充 数据库 | 更新日期: 2023-09-27 18:02:27
我正在做一个学校项目,我们正在预订电影院。该程序的标准之一是在列表中显示数据库中的所有电影。
我知道这可能是一个非常简单的问题,但我需要一个指向正确方向的指针。
如何制作包含电影所有数据的电影对象(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();
您可以选择使用像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; }
}
然后,您可以将数据库查询读取到读取器中,并将对象填充到列表中,如下所示:
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();
}
}
您可以尝试此代码来填充下拉列表、网格等。
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;