SQL SERVER设计与优化实验指导

上传人:我*** 文档编号:136371297 上传时间:2020-06-28 格式:DOC 页数:32 大小:475KB
返回 下载 相关 举报
SQL SERVER设计与优化实验指导_第1页
第1页 / 共32页
SQL SERVER设计与优化实验指导_第2页
第2页 / 共32页
SQL SERVER设计与优化实验指导_第3页
第3页 / 共32页
SQL SERVER设计与优化实验指导_第4页
第4页 / 共32页
SQL SERVER设计与优化实验指导_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《SQL SERVER设计与优化实验指导》由会员分享,可在线阅读,更多相关《SQL SERVER设计与优化实验指导(32页珍藏版)》请在金锄头文库上搜索。

1、SQLServer设计与优化实验指导邢台学院信息科学与技术系2012.9实验报告姓 名学 号系 别班级主讲教师指导教师实验日期专业课程名称一、 实验名称:二、实验目的:三、实验内容及要求四、实验材料、工具、或软件五、实验内容及实验步骤(或记录)六、实验存在问题和解决办法七、意见和建议八、教师评语(或成绩) 教师签字: 年 月 日实验项目周次章节及教学内容累计学时1实验一 数据库编程基础122实验一 数据库编程基础223实验二 使用ADO.NET访问数据库124实验二 使用ADO.NET访问数据库225实验三 SQL Server事务处理机制126实验三 SQL Server事务处理机制227实

2、验四 监控SQL Server的性能与活动128实验四 监控SQL Server的性能与活动229实验五 数据库系统开发1210实验五 数据库系统开发2211实验五 数据库系统开发3212实验五 数据库系统开发4213实验五 数据库系统开发5214实验五 数据库系统开发6215实验五 数据库系统开发7216实验五 数据库系统开发82实验一 数据库编程基础实验时数: 4学时授课类型:实验课教学方法与手段:指导目的要求:了解ADO.NET的工作原理。掌握常用OLE DB对象属性和方法,设计简单的数据库应用程序。实验内容:1、 自己编写代码实现数据库连接和数据显示using System;using

3、 System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Data.SqlClient ;namespace 自己编写数据库连接 public partial class Form1 : Form private SqlConnection myCon; private SqlDataAdapter myAda; private SqlCommand

4、 myCmd; private SqlCommandBuilder myCbd; private DataSet mySet; public Form1() InitializeComponent(); myCon = new SqlConnection(Data Source=.;Initial Catalog=student;Integrated Security=True); myAda = new SqlDataAdapter(); myCmd = new SqlCommand(select * from c,myCon); myAda.SelectCommand = myCmd; m

5、yCbd = new SqlCommandBuilder(myAda);/ SqlCommandBuilder有什么妙用,我们从字面意思翻译一下,Sql就是Sql,众人名其曰结构化查询语言;Command,名令;Builder,构造,建造,不太好,人家带了个er,学过E文的都知道,这是个名词,那就译之为构造器,建造者能说得过去。Sql命令构造器,这下恍然明白了,就是用来构造Sql命令的,比如你更新数据库需要一个Update,通过这句它就给咱构造出来了。那么Sql命令构造器这个东西又是怎么生成咱需要的Sql语句命令的?它怎么知道我们要什么样滴?其实它不知道,是我们给了它提示信息,不过它实在是太聪

6、明了,就这么点提示信息人家就举一反三,根据这点提示推断出我们的需求。那我们在哪里给提示了,看这句myAda.SelectCommand = myCmd;我们把查询的Sql命令给了出来,给了DataAdaper数据适配器的SelectCommand,而我们又把DataAdaper数据适配器(在这里为myAda)作为参数丢给了SqlCommandBuilder,这下好了,被SqlCommandBuilder抓到了,它就这样轻松加愉快的,根据抓到的DataAdaper的SelectCommand信息,一骨碌的把其它的Sql操作命令都给生成出来了。可能有朋友问了,我不用这个命令构造器生成Sql操作命令

7、行不?当然是可以了,要是总觉得它自动给搞出来的不符合我们的要求,我们完全可以自己写的灵活点,像下面这样就可以了:/myAda.DeleteCommand = New SqlCommand(delete * from UserInfo where .) mySet = new DataSet(); /通过DataAdaper给我们提供了TableMappings属性,利用它就可以把数据库里的千奇百怪的字段名毫不费力的给转成我们需要的名字,人家这里称作是映射。 myAda.TableMappings.Add(UserInfo, UserInfo); myAda.TableMappings0.Col

8、umnMappings.Add(cno, 课程号); myAda.TableMappings0.ColumnMappings.Add(cname, 课程名); myAda.TableMappings0.ColumnMappings.Add(credit, 学分); private void Form1_Load(object sender, EventArgs e) try myAda.Fill(mySet, C); catch (SqlException ex) MessageBox.Show(ex.ToString(); finally myCon.Close(); dataGridVie

9、w1.DataSource = mySet.Tablesc; /查询完成了,更新,删除当然也是不在话下了,我们在dataGridView控件中编辑完数据后,会首先将变化反映到关联的DataSet的DataTable中,接下来还是数据适配器上场,直接调用它的Update万能方法就可以了,就会把我们的数据的更改写到源数据表中了.这里万能的背后仍然是DataAdaper的SqlCommand命令,我们此前已经为它们配置好了,这里的一切就交给Update方法吧.这里要罗索一下的是mySet.Tables0.AcceptChanges(),这句很有用,要不你更新一条后,接着再去更新第二条,第三条的话,就

10、会出现异常,因为一次更新发生后,DataSet会对本次更新挂起,到下一次更新的时候又会重复进行上一次挂起的更改,所以在每次更新后必须调用AcceptChanges来清除挂起的更改. private void button1_Click(object sender, EventArgs e) try /将更改的数据更新到数据表里 myAda.Update(mySet.Tables0.GetChanges(); MessageBox.Show(数据更新成功!); /DataTable接受更改,以便为下一次更改作准备 mySet.Tables0.AcceptChanges(); catch (Sql

11、Exception ex) ex.ToString(); private void button2_Click(object sender, EventArgs e) /从DataTable中删除当前选中的行mySet.Tables0.RowsdataGridView1.CurrentRow.Index.Delete(); if (MessageBox.Show(确定要删除当前行数据?, , MessageBoxButtons.OKCancel) = DialogResult.OK) try /将更改的数据更新到数据表里 myAda.Update(mySet.Tables0.GetChanges(); MessageBox.Show(数据删除成功!); /DataTable接受更改,以便为下一次更改作准备 mySet.Tables0.AcceptChanges(); catch (SqlException ex) MessageBox.Show(ex.ToString();

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 事务文书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号