首页 > 解决方案 > 如何使用 C# 将复选框分配给数据库中的某个数据

问题描述

我正在创建一个日志系统,学生不需要输入他们的信息,因为它已经存储在数据库中。为了让他们登录,如果他们进入图书馆,他们只需要勾选 In 复选框,如果他们离开图书馆,则只需勾选 Out 复选框。在我的 DataGrid 视图中,它按行显示学生编号、姓名、课程和进出复选框。

我的问题是:我怎么知道勾选的复选框是给约翰的?还是为了玛丽?还是为了戴夫?以及如何将该日志放入日志的数据库表中?

标签: c#

解决方案


   //designing a checkbox inside datagrid
                               <DataGridTemplateColumn Header="{StaticResource _status}" Width="Auto">
                                    <DataGridTemplateColumn.CellTemplate>
                                        <DataTemplate>
                                            <CheckBox x:Name="chk" Click="Click_SelectionChanged_1"/>                
                                        </DataTemplate>
                                    </DataGridTemplateColumn.CellTemplate>
                                </DataGridTemplateColumn>

     void Click_SelectionChanged_1(....)
     {
       CheckBox c=(CheckBox)sender;
       bool _stat=c.IsChecked;

         using (SqlConnection con = new SqlConnection(ConString))
            {
                con.Open();
                using (SqlCommand command = new SqlCommand("UPDATE tableStudent SET Status="+_stat+" WHERE id="+_dbid, con))
                {
                    command.ExecuteNonQuery();
                }
                con.Close();
            }
     }  


    int _dbid=-1; 
   //get selected id from datagrid selection change
    void datagrid_SelectionChange(.....)
    {
                DataRowView row = (DataRowView)t_bill_itemsDataGrid.SelectedItems[0];
                string s = row["id"].ToString();
                _dbid = int.Parse(s);
    }

推荐阅读