ImageVerifierCode 换一换
格式:DOCX , 页数:60 ,大小:502.65KB ,
资源ID:9313370      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9313370.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(SQL数据库操作步骤及代码.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

SQL数据库操作步骤及代码.docx

1、SQL数据库操作步骤及代码第2章 数据库高级编程ADO。NET是为.NET框架而创建的,是对ADO(ActiveX Data Objects)对象模型的扩充.ADO.NET提供了一组数据访问服务的类,可用于对Microsoft SQL Server、Oracle等数据源的一致访问。ADO.NET模型分为。NET Data Provider(数据提供程序)和DataSet数据集(数据处理的核心)两大主要部分.。NET数据提供程序提供了四个核心对象,分别是Connection、Command、DataReader和DataAdapter对象。功能如表21所示。表2-1 ADO。NET核心对象对象功

2、能Connection提供和数据源的连接功能Command提供访问数据库命令,执行查询数据或修改数据的功能,例如运行SQL命令和存储过程等DataReader从数据源中读取只向前的且只读的数据流DataAdapter是DataSet对象和数据源间的桥梁.DataAdapter使用4个Command对象来运行查询、新建、修改、删除的SQL命令,把数据加载到DataSet,或者把DataSet内的数据送回数据源2.1 SQL Server相关配置在使用C访问数据库之前,首先创建一个名为“chap2”的数据库,此数据库作为2.1节及2.2节中例题操作的默认数据库。然后创建数据表Products,表结

3、构如表2-2所示.创建完毕后可录入初始化数据若干条.表2-2 Products表表结构序号列名字段说明数据类型长度主键允许空1ProductID商品编号char4主键否2ProductName商品名称nvarcharnvava40否3SupplierName供应商名称nvarchar40否4CategoryName商品类别名称nvarchar40否5UnitPrice单价money否6UnitsInStock库存量smallint否7Discount是否折扣char1否下面首先介绍几个SQL Server 2012的常用操作。这些操作都是初学者在实践环节及上机课的操作中出现问题较多的地方。1身

4、份验证方式SQL Server 2012在安装时默认是使用Windows验证方式的,但是安装过后用户可随时修改身份验证方式.启动SQL Server 2012 Management Studio,在“连接到服务器”对话框中选择“Windows身份验证”连接服务器,连接成功后,在窗体左侧的“对象资源管理器”中右键单击服务器实例节点,并在弹出的快捷菜单中选择“属性”菜单项,系统将弹出“服务器属性”窗体,切换至“安全性”选项卡,如图2-1所示。图2-1 “服务器属性对话框“安全性”选项卡在“服务器身份验证”部分选择“SQL Server和Windows身份验证模式”选项,并单击【确定】按钮。系统将提

5、示需要重新启动SQL Server以使配置生效,如图2-2所示.图22 系统提示框右键单击“对象资源管理器的服务器实例节点,在弹出的快捷菜单中选择“重新启动”菜单项,SQL Server将重新启动服务,重启成功后即可使用混合验证方式登录SQL Server服务器。2添加登录账户大部分初学者都习惯于使用SQL Server的系统管理员账号“sa”来登录数据库服务器,而在实际工作环境中使用sa账号登录服务器是不合理的。因为很多情况下系统的数据库是部署在租用的数据库服务器上的,此时数据库设计人员或编程人员都不可能具有sa账号的使用权限,因此在将身份验证方式修改为SQL Server和Windows混

6、合验证后,需要为某应用程序创建一个专用的登录账户。其操作步骤描述如下。(1)使用Windows身份验证登录SQL Server,在对象资源管理器中点击“安全性”节点前面的加号“+,在展开后的“登录名子节点上单击右键,如图23所示,并在弹出的快捷菜单中选择“新建登录名”选项。图2-3 登录名节点的右键菜单(2)系统弹出“登录名新建”对话框中,如图24所示.首先在登录名输入框中填写需要创建的用户名,此处以“zd为例;将身份验证方式选为“SQL Server 身份验证”,为新建账户设置密码为“123”,同时去除“强制实施密码策略”和“用户在下次登录时必须更改密码选项;最后为账户选择默认数据库“cha

7、p2”.图2-4 “登录名-新建”对话框“常规”选项卡(3)服务器角色节点不予配置。有关SQL Server服务器角色请参考相关资料,此处不再详细介绍.(4)在对话框左侧选项卡中选择“用户映射”节点,如图2-5所示,在“映射到此登录名的用户”列表中,勾选此前创建好的数据库“chap2”,在窗体右下方的“数据库角色成员身份”框里选择“db_Owner”,即数据库拥有者.图2-5 “登录名-新建”对话框“用户映射选项卡(5)安全对象节点一般不予配置。(6)在对话框左侧选项卡中选择“状态”节点,如图26所示,将“是否允许连接到数据库引擎”选项设为“授予”,同时将“登录”选项设为“启用”。以上各节点配

8、置完成后单击【确定】按钮,即完成了对账户的创建工作。图2-6 “登录名新建”对话框“状态配置”选项卡(7)新建账户完成后,重新连接SQL Server,如图27所示,选择SQL Server身份验证方式,输入前面设置的登录名“zd”及密码“123”,点击【连接】按钮,即可完成登录。登录成功后在对象资源管理器中可看到服务器实例名后面显示的登录用户名,如图28所示。图27 “连接到服务器对话框 图28 对象资源管理器2.2 使用ADO。NET访问数据库2。2。1 连接数据库在对数据源进行操作之前,首先需建立到数据源的连接,可使用Connection对象显式创建到数据源的连接。【例21】 设计一个W

9、indows应用程序,能通过“Windows验证“和“Windows和SQL Server混合验证”两种方式建立到数据库的连接。图2-9 “连接数据库”窗体控件Tab顺序实现过程如下。(1)新建一Windows应用程序,命名为connection,将创建的默认窗体名更名为frmConnect,窗体的Text属性设置为“连接数据库”,界面设计如图29所示。frmConnect窗体中的主要控件,按Tab键顺序,描述如表23所示。表2-3 “连接数据库”窗体控件及说明Tab顺序控件类型控件名称说 明主要属性属性名属性值0ButtonbtnConnect1Windows身份验证方式连接数据库TextW

10、indows验证1btnConnect2混合验证方式连接数据库Text混合验证(2)主要程序代码说明: 本节内所有例题代码均需引用System.Data。SqlClient命名空间,代码如下:using System.Data。SqlClient; /添加对SQL Server数据访问对象的引用后续例题不再逐一说明。 由于篇幅所限,本节中所有例题的异常捕获代码都省略了,读者需自行添加获取控件输入及访问数据库等处的异常捕获代码。双击【Windows验证】按钮,进入其Click事件处理函数,代码如下: /Windows方式连接数据库 private void btnConnect1_Click(o

11、bject sender, EventArgs e) string strConn = ”server=XP-4;database=chap2;integrated security=true”; /连接字符串 SqlConnection conn = new SqlConnection(strConn); /创建连接对象 conn.Open(); /打开连接 /如连接成功则弹出消息框提示 MessageBox。Show(数据库已通过集成验证方式连接成功, 连接状态对话框”); conn.Close(); /使用完毕后关闭数据库连接 双击【混合验证】按钮,进入其Click事件处理函数,填写代码

12、如下。 /SQL Server + Windows方式连接数据库 private void btnConnect2_Click(object sender, EventArgs e) string strConn = ”server=XP4.;database=chap2;uid=zd;pwd=123; /连接字符串 SqlConnection conn = new SqlConnection(strConn); /创建连接对象 conn。Open(); /打开连接 /如连接成功则弹出消息框提示 MessageBox。Show(”数据库已通过混合验证方式连接成功, ”连接状态对话框); con

13、n。Close(); /使用完毕后关闭数据库连接 数据库连接字符串包含要连接的数据库的信息,如server属性指定数据库服务器名称,database属性指定数据库名称,使用Windows身份验证方式只需要给出server和database两个属性的值,并使用“integrated security=true指定身份验证方式为Windows验证;当使用混合验证时则需要使用uid属性指定数据库账户、pwd属性指定该账号的密码。说明:上例中的连接字符串中的用户名“zd”和密码“123,是以本节“添加登录账户”的方式创建的,读者可自行修改为自己计算机的SQLServer登录名及密码。运行程序,分别单击

14、【Windows验证】和【混合验证】两个按钮,如连接成功,将分别弹出不同的连接状态对话框,如图210所示。 图210 连接状态对话框2.2。2 对数据库进行添加、修改及删除操作在创建好到数据库的连接之后,可以使用Command对象对数据库进行更新操作.【例22】设计一个Windows应用程序,能实现对数据库表的添加、修改及删除操作。实现过程:(1)新建一Windows应用程序,命名为operateData,将创建的默认窗体名更名为frmCommand,窗体的Text属性设置为“对数据库执行添加、修改及删除操作,界面设计如图211所示。frmCommand窗体中的主要控件,按Tab键顺序,描述如

15、表24所示。图2-11 “对数据库进行添加、修改及删除操作”窗体Tab顺序视图表2-4 “对数据库执行添加、修改及删除操作”窗体控件及说明Tab顺序控件类型控件名称说 明主要属性属性名属性值0ButtonbtnInsert向数据库表添加一条记录Text添加1btnUpdate修改数据库表中的记录Text修改2btnDelete删除数据库表中的记录Text删除(2)主要程序代码 双击【添加】按钮,进入其Click事件处理函数,代码如下. /【添加】按钮单击事件处理函数 private void btnInsert_Click(object sender, EventArgs e) string

16、strConn = ”server=XP4;database=chap2;integrated security=true; /连接字符串 SqlConnection conn = new SqlConnection(strConn); /声明并创建连接对象 conn.Open(); /打开数据库连接 /向商品表插入一条新记录 string strSql=insert into Products values(0012,双层蒸锅,苏泊尔集团,厨具,129。9,100,false); SqlCommand comm = new SqlCommand(strSql, conn); /声明并创建命令

17、对象 int row = comm。ExecuteNonQuery(); /执行SQL语句,并获取受影响的行数 if (row 0) /如果记录插入成功,则弹出消息框提示 MessageBox。Show(”插入数据成功”, 操作状态对话框”); conn.Close(); /关闭数据库连接 双击【修改】按钮,进入其Click事件处理函数,代码如下。 /【修改】按钮单击事件处理函数 private void btnUpdate_Click(object sender, EventArgs e) string strConn = server=XP4;database=chap2;integrat

18、ed security=true; SqlConnection conn = new SqlConnection(strConn); conn.Open(); /修改商品表中的一条记录 string strSql = update Products set UnitsInStock=500 where ProductID=0012; SqlCommand comm = new SqlCommand(strSql, conn); int row = comm。ExecuteNonQuery(); if (row 0) MessageBox.Show(修改数据成功, ”操作状态对话框); conn

19、。Close(); 双击【删除】按钮,进入其Click事件处理函数,代码如下。 /【删除】按钮单击事件处理函数 private void btnDelete_Click(object sender, EventArgs e) string strConn = ”server=XP-4;database=chap2;integrated security=true”; SqlConnection conn = new SqlConnection(strConn); conn.Open(); /删除商品表中的一条记录 string strSql = delete from Products whe

20、re ProductID=0012; SqlCommand comm = new SqlCommand(strSql, conn); int row = comm。ExecuteNonQuery(); if (row 0) MessageBox。Show(删除数据成功, 操作状态对话框”); conn。Close(); 运行程序,分别单击【添加】、【修改】和【删除】按钮,如操作成功,将分别弹出不同的操作状态对话框,如图212所示。对于数据库记录的修改情况,读者可同时从SQL Server管理控制台访问数据库chap2的Products表进行验证. 图212 操作状态对话框2。2。3 查询数据库

21、中的数据【例23】设计一个Windows应用程序,使用DataReader查询数据库中的信息并加载到ComboBox控件的选项中。实现过程:(1)新建一Windows应用程序,命名为testDataReader,将创建的默认窗体名更名为frmProducts,窗体的Text属性设置为“商品类别及名称”,界面设计如图2-13所示。frmProducts窗体中的主要控件,按Tab键顺序,描述如表25所示。图213 “商品类别及名称”窗体Tab键顺序视图表2-5 “商品类别及名称”窗体控件及说明Tab顺序控件类型控件名称说 明主要属性属性名属性值0ComboBoxcomboCategory所有商品类

22、别名称DropDownStyleDropDownList1comboProducts某商品类别下的商品名称DropDownStyleDropDownList说明:界面中不参与编程的Label控件不再进行说明,以下各例题均同样处理。(2)主要程序代码 双击窗体标题栏,进入Load事件处理函数,访问数据库,为“商品类别”下拉框加载数据,代码如下。 /窗体加载事件处理函数,为“商品类别组合框加载所有的商品类别数据 private void frmProducts_Load(object sender, EventArgs e) string strConn = server=XP4;database

23、=chap2;integrated security=true”;/连接字符串 SqlConnection conn = new SqlConnection(strConn); /声明并创建连接对象 conn.Open(); /打开数据库连接 string strSql = ”select distinct CategoryName from Products”; /查询 SqlCommand comm = new SqlCommand(strSql, conn); SqlDataReader dr = comm。ExecuteReader(); while (dr。Read() comboC

24、ategory.Items.Add(dr0); /依次加载数据项至ComboBox dr.Close(); conn。Close(); 双击商品类别下拉框,进入其SelectedIndexChanged事件处理函数,根据其选项为“商品名称”下拉框加载数据,代码如下。 /“商品类别下拉框选项索引变化事件处理函数, /根据商品类别下拉框中的选项加载该类别下的所有的商品名称 private void comboCategory_SelectedIndexChanged(object sender, EventArgs e) comboProducts。Items.Clear(); string st

25、rConn = ”server=XP-4;database=chap2;integrated security=true; SqlConnection conn = new SqlConnection(strConn); conn.Open(); string strSql = select ProductName from Products where CategoryName=+comboCategory。Text+”; SqlCommand comm = new SqlCommand(strSql, conn); SqlDataReader dr = comm。ExecuteReader

26、(); while (dr。Read() comboProducts。Items.Add(dr0); dr.Close(); conn。Close(); 【例24】 使用DataAdaper和DataSet对象查询数据库中的信息并加载到ComboBox控件的选项中.实现过程:(1)新建一Windows应用程序,命名为dataSet,将创建的默认窗体名更名为frmProducts,窗体及各主要控件的属性设置同例23。(2)主要程序代码 双击窗体标题栏,进入其Load事件处理函数,访问数据库,为“商品类别”下拉框加载数据,代码如下。 /窗体加载事件处理函数,为“商品类别”组合框加载所有的商品分类数

27、据。 private void frmProducts_Load(object sender, EventArgs e) string strConn = ”server=XP4;database=chap2;integrated security=true”; /连接字符串 SqlConnection conn = new SqlConnection(strConn); /声明并创建连接对象 string strSql = select distinct CategoryName from Products; /查询不重复的商品类别名称 SqlDataAdapter da = new Sql

28、DataAdapter(strSql, conn); /声明并创建数据适配器对象 DataSet ds = new DataSet(); /声明并创建数据集对象 da.Fill(ds); /使用数据适配器填充数据集 comboCatagory。DataSource = ds。Tables0; /设置商品类别下拉框数据源 comboCatagory.DisplayMember = ”CategoryName; /设置商品类别下拉框的显示属性 双击“商品类别”下拉框,进入其SelectedIndexChanged事件处理函数,根据其选中项为“商品名称”下拉框加载数据,代码如下。 /“商品类别下拉框

29、选项索引变化事件处理函数, /根据商品类别下拉框中的选项加载该类别下的所有的商品名称 private void comboCatagory_SelectedIndexChanged(object sender, EventArgs e) string strConn = server=XP-4;database=chap2;integrated security=true; SqlConnection conn = new SqlConnection(strConn); /根据“商品类别”下拉框中的选项查询商品名称 string strSql=select ProductName from P

30、roducts where CategoryName=+comboCategory.Text+”; SqlDataAdapter da = new SqlDataAdapter(strSql, conn); DataSet ds = new DataSet(); da.Fill(ds); comboProducts。DataSource = ds.Tables0; /设置商品名称下拉框的数据源 comboProducts.DisplayMember = ”ProductName; /设置商品名称下拉框的显示属性 思考:细心的同学会发现,例2-3和例2-4虽然运行界面完全相同,但是窗体加载之后列表框中选项的情况是有区别的.那么,区别在哪呢?原因又是什么呢

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1