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");
}