显示动态更改的数据库值并更改进度条的值

本文关键字:数据库 动态 显示 | 更新日期: 2023-09-27 18:34:28

我是c#和wpf的新手。我创建了一个 SQL Server 数据库表,它显示在 wpf 中的表中。我的问题是我希望初始显示表为空,并且当值添加到数据库表上时,它应该反映在显示表上。然后,此动态过程应链接到我的进度条,每次显示新值时,进度条都会更改 10%。

因此,它需要自动刷新文本块(例如每 10 秒一次(以检查数据库中是否已更新新值,然后显示该值并更改进度。

我该怎么做?

这是我的进度条代码。

private void loadprogressbar()
{
        Duration dur = new Duration(TimeSpan.FromSeconds(30));
        DoubleAnimation dblani = new DoubleAnimation(200.0, dur);
        pb1.BeginAnimation(ProgressBar.ValueProperty, dblani);
}

这是我的显示表代码。

private void WeightVital()
{
        SqlConnection con = new SqlConnection("Data Source=DESKTOP-QTFGN00; Initial Catalog=VITALS;Integrated Security=true");
        con.Open();
        SqlCommand cmd = new SqlCommand("SELECT Weight FROM Vitals WHERE(VitalsID = 1)", con);
        cmd.CommandType = CommandType.Text;
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        da.SelectCommand = cmd;
        DataSet dataset = new DataSet();
        da.Fill(dataset);
        if(dataset.Tables[0].Rows.Count>0)
        {
            string weight = dataset.Tables[0].Rows[0]["Weight"].ToString();
            textBlock18.Text = weight;
        }
}
private void HeightVital()
{
        SqlConnection con = new SqlConnection("Data Source=DESKTOP-QTFGN00; Initial Catalog=VITALS;Integrated Security=true");
        con.Open();
        SqlCommand cmd = new SqlCommand("SELECT Height FROM Vitals WHERE(VitalsID = 1)", con);
        cmd.CommandType = CommandType.Text;
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        da.SelectCommand = cmd;
        DataSet dataset = new DataSet();
        da.Fill(dataset);
        if (dataset.Tables[0].Rows.Count > 0)
        {
            string height = dataset.Tables[0].Rows[0]["Height"].ToString();
            textBlock19.Text = height;
        }
}

任何帮助将不胜感激。提前谢谢。

显示动态更改的数据库值并更改进度条的值

0( 创建一个对象来表示您的"重要"行

1( 将ObservableCollection<Vital>绑定到数据网格的ItemSource

<DataGrid ItemsSource="{Binding vitalList}" />

2(用您的数据填充此ObservableCollection<T>

vitalList.Add(myNewVital);
3( 由于 ObservableCollection

会在添加/删除或更改项目时触发事件,因此请将处理程序添加到 ObservableCollection 的 CollectionChanged 事件中,然后添加倾倒量或根据集合的Count属性计算它

vitalList.CollectionChange += myProgressBarHandler;