C#学习记录(38)windows应用程序基础之DataGridViewl控件

        DataGridView控件是C#独有的控件,是专门针对数据库操作而设计的。

        1.加载对话框

            //数据库连接
     SqlConnection conn = new SqlConnection("Data Source=sdwm-20150704fl\\sqlexpress1;Initial Catalog=shoot;User ID=sa;pwd=wanghao");

            // 查询用的 sql 语句
            string deskSql = "SELECT * from tb_score order by id asc";
            // 初始化 DataAdapter
            dataAdapter = new SqlDataAdapter(deskSql, conn);
            // 填充 DataSet
            dataAdapter.Fill(dataSet, "tb_score");
            // 绑定DataGridView的数据源

            dataGridView1.DataSource = dataSet.Tables["tb_score"];

        2.插入数据

            ///打开Data对话框,并传递回数据
            DialogResult result = datadlg.ShowDialog();
            if (result == DialogResult.OK)
            {
                score = datadlg.score;
                targetID = datadlg.targetID;
                
                //获取当前datagridview的最后一行数据的编号
                string id;
                id = Convert.ToString(dataGridView1.Rows.Count + 1);
                ///插入的数据
                object[] aValues = { id, score, targetID };
                dataSet.Tables["tb_score"].LoadDataRow(aValues, false); //接受要插入值的数        

            }

        3.删除数据

         private void buttondelete_Click(object sender, EventArgs e)
        {
                foreach (DataGridViewRow r in dataGridView1.SelectedRows)
                {
                        dataGridView1.Rows.Remove(r);
                }
                for (int i=0;i<dataGridView1.Rows.Count;i++)
                {
                        if (Convert.ToInt32(dataGridView1.Rows[i].Cells[0].Value.ToString()) != i+1)
                            dataGridView1.Rows[i].Cells[0].Value = i+1;
                }
                MessageBox.Show("请按“更新”按钮将数据更新写入到数据库中","提示");

        }

        4.更新数据到数据库

        每次插入或者删除数据之后,需要调用该函数才能将数据写入到数据库中,否则更改无效。

DialogResult result = MessageBox.Show("确定要保存到数据库中吗?", "提示", MessageBoxButtons.OKCancel);
            if (result == DialogResult.OK)
            {
                SqlCommandBuilder builder = new SqlCommandBuilder(dataAdapter);
                dataAdapter.Update(dataSet, "tb_score");
            }

猜你喜欢

转载自blog.csdn.net/shenseyoulan/article/details/80996272