我需要帮助为每个数据库表行创建一个新的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();

我需要帮助为每个数据库表行创建一个新的WPF数据网格

首先不要这样做

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注入的攻击。

回答你的问题,你在正确的道路上。您需要用代码创建一个新控件,并告诉窗体您想要它的位置。现在你只是尝试创建新的网格,而不告诉程序它要去哪里。