C# ADO.NET动态数据的增删改查(第五天)

来源:互联网 发布:软件开发年终总结范文 编辑:程序博客网 时间:2024/06/14 22:31

一、插入登录框中用户输入的动态数据

 1 /// <summary> 2         /// 添加数据 3         /// </summary> 4         /// <param name="sender"></param> 5         /// <param name="e"></param> 6         private void btnConnectDB_Click(object sender, EventArgs e) 7         { 8             //得到文本框的值 9             string classname = this.textClassName.Text;10             string byname = this.textByName.Text;11             //连接数据库12             string connectString = "server=.;database=StudentMISDB;uid=sa;pwd=123456";13             //创建数据库命令14             SqlConnection conn = new SqlConnection(connectString);15             //打开数据库16             conn.Open();17             //插入数据18             string sql = string.Format("insert into Course values('{0}','{1}')",classname,byname);19             //进行连接20             SqlCommand cmd = new SqlCommand(sql,conn);           21             int count = cmd.ExecuteNonQuery();22             conn.Close();23             if(count>0){24                 MessageBox.Show("插入成功");25             }26             else27             {28                 MessageBox.Show("插入失败");29             }30             //conn.Close();31         }

二、修改数据库中的数据

 1  /// <summary> 2         /// 修改数据 3         /// </summary> 4         /// <param name="sender"></param> 5         /// <param name="e"></param> 6         private void btnUpDateDB_Click(object sender, EventArgs e) 7         { 8             //获取输入框文本值 9             string className = this.textClassName.Text;10             string byName = this.textByName.Text;11             //创建数据库连接字符12             string connectstring = "server=.;database=StudentMISDB;uid=sa;pwd=123456";13             //创建数据库连接对象14             SqlConnection con = new SqlConnection(connectstring);15             //打开数据库16             con.Open();17             //创建数据库要执行的代码18             string sql = string.Format("update Course set Name='{0}',ByName='{1}' where CourseId=2",className,byName);19             //创建数据库命令的对象20             SqlCommand cmd=new SqlCommand(sql,con);21             int count = cmd.ExecuteNonQuery();//返回影响的行数22             //关闭数据库23             con.Close();24             //MessageBox.Show("好了");25             if (count > 0)26             {27                 MessageBox.Show("修改成功");28             }29             else30             {31                 MessageBox.Show("修改失败");32             }33         }

三、连接式查询数据库数据,并在listbox中展示出来

 1  private void btnChaXun_Click(object sender, EventArgs e) 2         { 3             //创建数据库链接字符串 4             string connstring = "server=.;database=StudentMISDB;uid=sa;pwd=123456"; 5             //链接数据库 6             SqlConnection conn = new SqlConnection(connstring); 7             conn.Open(); 8             //数据库要执行的语句 9             string sql = "select * from Course where CourseID>3";10             //要执行的命令11             SqlCommand cmd = new SqlCommand(sql,conn);12             //读取数据13             SqlDataReader reader = cmd.ExecuteReader(); //读取数据14             //循环读取15             while (reader.Read())  //表示前进到下一行记录,返回值为布尔类型,如果下一条有数据,返回true,没有数据,就返回false16             {17                 //将读取到的数据添加到listbox中显示18                 this.listBoxChaxun.Items.Add(reader[0].ToString()+"\t"+reader[1].ToString() + "\t" + reader[2].ToString()); //分别读取第一列、第二列、第三列19             }20             //关闭读取21             reader.Close();22             //关闭数据库23             conn.Close();24         }

四、断开式查询数据

 1        private void btnDKcheck_Click(object sender, EventArgs e) 2         { 3             string connString = "server=.;database=StudentMISDB;uid=sa;pwd=123456";  //创建数据库连接字符串 4             SqlConnection conn = new SqlConnection(connString);  //创建连接对象 5             string sql = "select * from Course";  //数据库要执行的操作 6             //创建断开式连接对象 7             SqlDataAdapter adapter = new SqlDataAdapter(sql,conn); 8             //创建数据集对象 9             DataSet ds = new DataSet();10             //填充数据集11             adapter.Fill(ds);12             foreach (DataRow item in ds.Tables[0].Rows)  //遍历输出值13             {14                 listBoxChaxun.Items.Add(item[0].ToString()+"\t"+item[1].ToString()+"\t"+item[2].ToString());15             }16         }

 五、链接式查询和断开式查询方法的区别和总结

连接查询:

        1.一直访问数据库,直到数据被读取完成才会终止;

        2.执行效率非常高,从上到下依次读取,但是在之前读取过的数据,不能重新读取。

断开式查询:

        1.通过SqlDataAdapter 把数据库中的数据,映射到 DataSet 中,但是对内存开支太大,执行效率也比较低;

        2.比较灵活,可以根据不同的条件,对DataSet中的数据进行再次筛选;

        3.对数据库中连接池中的资源的释放比较及时;

        4.当 需要查询海量的数据时,必须要经过优化。【优化的方法:分页、存储过程分页】

 

原创粉丝点击