我需要帮助为每个数据库表行创建一个新的WPF数据网格
本文关键字:一个 网格 数据网 数据 WPF 创建 帮助 数据库 | 更新日期: 2023-09-27 18:09:11
如何让这个查询为数据库表中的每一行填充一个新的wpf数据网格?在过去的3天里,我一直在研究这个问题,我找不到一个类似的例子。任何建议都会有帮助。该图像显示了我正在让它当前做的事情。
public void movieID(BoxOfficeWindow boxWin)
{
TextBlock movieId = new TextBlock();
TextBlock ratingId = new TextBlock();
DataGrid dataGrid = new DataGrid();
BoxOfficeWindow boxofficewindow = new BoxOfficeWindow();
connections2 conn = new connections2("mediadatabase", "localhost");
string dateTime = DateTime.Now.ToString("yyyyMMdd");
string checkTable = "SELECT DISTINCT movie.movieid, movie.ratingtext FROM movie, schedule WHERE(movie.movieid = schedule.movieid AND schedule.systemdate = " + dateTime + ") ORDER BY movie.movieid, movie.ratingtext; ";
DataTable dt = new DataTable();
dt = conn.ReturnDataTableFromDatabase(checkTable, "schedule");
foreach (DataRow dr in dt.Rows)
{
movieId.Text = dr["movieid"].ToString();
ratingId.Text = dr["ratingtext"].ToString();
boxofficewindow.boxGrid.ShowGridLines = true;
dataGrid.AutoGenerateColumns = true;
dataGrid.ItemsSource = dt.DefaultView;
boxofficewindow.boxGrid.Children.Add(dataGrid);
dataGrid = new DataGrid();
}
boxofficewindow.Show();
dt = new DataTable();
首先不要这样做
string checkTable = "SELECT DISTINCT movie.movieid, movie.ratingtext FROM movie, schedule WHERE(movie.movieid = schedule.movieid AND schedule.systemdate = " + dateTime + ") ORDER BY movie.movieid, movie.ratingtext; ";
查看如何使用AddWithValue到您的sql连接查询。虽然您现在拥有的方式是相当安全的,但如果您决定将日期时间更改为用户可以输入数据的时间,那么您将使自己容易受到SQL注入的攻击。
回答你的问题,你在正确的道路上。您需要用代码创建一个新控件,并告诉窗体您想要它的位置。现在你只是尝试创建新的网格,而不告诉程序它要去哪里。