use test; create table course ( id int primary key identity(1,1), name varchar(20), credit numeric(3,1), remark varchar(50) );向表中添加数据的语句如下。
insert into course (name, credit, remark) values ('计算机基石 ' , 2, '无'); insert into course (name, credit, remark) values ('C# 程序开发', 2.5 , '机房授课'); insert into course (name, credit, remark) values ('数据库原理',1,'无'); insert into course (name, credit, remark) values ('体育',1,'无'); insert into course (name, credit, remark) values ('职业素养培训',0.5,'无');在 SQL Server 中执行上述 SQL 语句即可完成课程信息表(course)的创建和数据的添加。
//窗体加载事件 private void DataGridViewForm_Load(object sender, EventArgs e) { //调用查询全部课程的方法 QueryAllCourse(); } //查询全部课程 private void QueryAllCourse() { //数据库连接串 string connStr = "Data Source=.;Initial Catalog=test;User ID=sa;Password=root"; //创建SqlConnection的实例 SqlConnection conn = null; try { conn = new SqlConnection(connStr); //打开数据库 conn.Open(); string sql = "select * from course"; //创建SqlDataAdapter类的对象 SqlDataAdapter sda = new SqlDataAdapter(sql, conn); //创建DataSet类的对象 DataSet ds = new DataSet(); //使用SqlDataAdapter对象sda将查新结果填充到DataSet对象ds中 sda.Fill(ds); //设置表格控件的DataSource属性 dataGridView1.DataSource = ds.Tables[0]; //设置数据表格上显示的列标题 dataGridView1.Columns[0].HeaderText = "编号"; dataGridView1.Columns[1].HeaderText = "课程名称"; dataGridView1.Columns[2].HeaderText = "学分"; dataGridView1.Columns[3].HeaderText = "备注"; //设置数据表格为只读 dataGridView1.ReadOnly = true; //不允许添加行 dataGridView1.AllowUserToAddRows = false; //背景为白色 dataGridView1.BackgroundColor = Color.White; //只允许选中单行 dataGridView1.MultiSelect = false; //整行选中 dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect; } catch (Exception ex) { MessageBox.Show("查询错误!" + ex.Message); } finally { if (conn != null) { //关闭数据库连接 conn.Close(); } } }
//查询按钮单击事件 private void button1_Click(object sender, EventArgs e) { if (textBox1.Text != "") { //数据库连接串 string connStr = "Data Source=.;Initial Catalog=test;User ID=sa;Password=root"; //创建SqlConnection的实例 SqlConnection conn = null; try { conn = new SqlConnection(connStr); //打开数据库 conn.Open(); string sql = "select * from course where name like '%{0}%'"; //填充占位符 sql = string.Format(sql, textBox1.Text); //创建SqlDataAdapter类的对象 SqlDataAdapter sda = new SqlDataAdapter(sql, conn); //创建DataSet类的对象 DataSet ds = new DataSet(); //使用SqlDataAdapter对象sda将查新结果填充到DataSet对象ds中 sda.Fill(ds); //设置表格控件的DataSource属性 dataGridView1.DataSource = ds.Tables[0]; } catch (Exception ex) { MessageBox.Show("出现错误!" + ex.Message); } finally { if (conn != null) { //关闭数据库连接 conn.Close(); } } } }运行该窗体,查询效果如下图所示。
“修改”按钮的单击事件中的代码如下。 //修改课程信息 private void button2_Click(object sender, EventArgs e) { //获取DataGridView控件中的值 //获取课程编号 string id = dataGridView1.SelectedRows[0].Cells[0].Value.ToString(); //获取课程名称 string name = dataGridView1.SelectedRows[0].Cells[1].Value.ToString(); //获取课程名称 string credit = dataGridView1.SelectedRows[0].Cells[2].Value.ToString(); //获取课程名称 string remark = dataGridView1.SelectedRows[0].Cells[3].Value.ToString(); //创建updateForm类的对象,并将课程信息传递给修改界面 updateForm updateform = new updateForm(id, name, credit, remark); //弹出修改信息窗口 DialogResult dr = updateForm.ShowDialog(); //判断是否单击确定按钮 if (dr == DialogResult.OK) { //调用查询全部课程方法 QueryAllCourse(); } }修改界面 (UpdateForm) 中的代码如下。
//带参数的构造方法 public updateForm(string id,string name,string credit,string remark) { InitializeComponent(); textBox1.Text = id; textBox2.Text = name; textBox3.Text = credit; textBox4.Text = remark; } //确认按钮单击事件 private void button1_Click(object sender, EventArgs e) { //数据库连接串 string connStr = "Data Source=.;Initial Catalog=test;User ID=sa;Password=root"; //创建SqlConnection的实例 SqlConnection conn = null; try { conn = new SqlConnection(connStr); //打开数据库 conn.Open(); string sql = "update course set name='{0}',credit='{1}',remark='{2}' where id='{3}'"; //填充占位符 sql = string.Format(sql, textBox2.Text, textBox3.Text, textBox4.Text, textBox1.Text); //创建SqlCommand类的对象 SqlCommand cmd = new SqlCommand(sql, conn); //执行修改操作的SQL cmd.ExecuteNonQuery(); //弹出成功提示 MessageBox.Show("修改成功!"); //设置当前窗体DislogResult结果为OK this.DialogResult = DialogResult.OK; //关闭窗体 this.Close(); } catch (Exception ex) { MessageBox.Show("修改失败!" + ex.Message); } finally { if (conn != null) { //关闭数据库连接 conn.Close(); } } } //取消按钮单击事件 private void button2_Click(object sender, EventArgs e) { //关闭窗体 this.Close(); }修改操作的运行效果如下图所示。
//删除按钮的单击事件 private void button3_Click(object sender, EventArgs e) { //获取DataGridView控件中选中行的编号列的值 int id = int.Parse(dataGridView1.SelectedRows[0].Cells[0].Value.ToString()); //数据库连接串 string connStr = "Data Source=.;Initial Catalog=test;User ID=sa;Password=root"; //创建SqlConnection的实例 SqlConnection conn = null; try { conn = new SqlConnection(connStr); //打开数据库 conn.Open(); string sql = "delect from course where id='{0}'"; //填充占位符 sql = string.Format(sql, id); //创建SqlCommand类的对象 SqlCommand cmd = new SqlCommand(sql, conn); //执行SQL语句 cmd.ExecuteNonQuery(); //弹出消息提示删除成功 MessageBox.Show("删除成功!"); //调用查询全部的方法,刷新DataGridView控件中的数据 QueryAllCourse(); } catch (Exception ex) { MessageBox.Show("删除失败!" + ex.Message); } finally { if (conn != null) { //关闭数据库连接 conn.Close(); } } }删除操作的运行效果如下图所示。
Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有