页数:37页文件大小:632.2 KB来源: SQLServer2005数据库技术及应用ppt课件
本章把数据库与应用程序连接起来,先概述SQL Server 2005在数据库引擎、数据访问API与CLR集成等方面的新增功能,再介绍ADO.NET常用组件、两种连接认证方式以及建立连接、查询和删除数据的代码写法;最后以VS2005 C#.NET开发学生信息管理系统为例,给出主界面、身份验证、查询、添加与修改界面的控件属性设置。
16章SQL SERVER应用编程
16.1SQL SERVER应用编程概述
1.ADO.NET组件用途
| 组件 | 用途 |
|---|---|
| SqlConnection | 提供到数据源的连接 |
| SqlCommand | 提供访问数据库的命令 |
| DataReader | 提供从数据源输出的数据流 |
| SqlDataAdapter | 用作DataSet对象与数据源之间的连接;协调对DataSet中数据的更改 |
| DataSet | 数据集,一般存放在内存中,用于装载从数据库中获取的数据,可以存放多张表 |
(1)混合模式身份认证
混合模式身份认证模式下,应用程序必须提供一个SQL Server登陆组中的用户帐号。下面代码说明了连接字符串中所必需的参数。
String constr="server=llipc;database=jwgl;userid=sa;password=123"| 说明 | 参数名 |
|---|---|
| 数据库用户帐号 | User id |
| 用户密码 | password |
| 要访问的数据库名称 | Database或initial catalog |
| 访问的数据库服务器名称,访问本机一般可记作localhost | Server或data source |
说明:本页源文件存在字符粘连,参数名与说明的对应关系按语义还原,建议对照原图核对。
(2)仅Windows身份认证
仅Windows身份认证模式下,应用程序访问SQL Server不需要提供一个SQL Server登陆组中的用户帐号。为处理数据库请求仅需要一个确认(即用户已被可信任的源点进行了身份验证)就可以了。
String constr="data source=llipc;initial catalog=jwgl;integrated security=true"| 说明 | 参数名 |
|---|---|
| 要访问的数据库名称 | Database或initial catalog |
| 访问的数据库服务器名称,访问本机一般可记作localhost | Server或data source |
| 表示是否采用集成安全认证,是则设置true或SSPI | integrated security |
说明:本页源文件存在字符粘连,参数名与说明的对应关系按语义还原,建议对照原图核对。
16.2ADO.NET编程方法1.3.建立到数据库的连接//建立连接字符串,这里假设采用仅Windows身份认证Stringconstr=”datasource=llipc;initialcatalog=jwgl;integratedsecurity=true”;//创建连接对象,通过连接字符串建立和数据库之间的连接SqlConnectioncon=newSqlConnection(constr);16.2ADO.NET编程方法4.查询数据库中的数据//建立连接字符串,这里假设采用仅Windows身份认证Stringconstr=”datasource=llipc;initialcatalog=jwgl;integratedsecurity=true”;//创建连接对象,通过连接字符串建立和数据库之间的连接SqlConnectioncon=newSqlConnection(constr);//创建数据集,用于存放从数据库获取的数据结果DataSetds=newDataSet();//创建SqlDataAdapter对象,提供与数据源的连接任务SqlDataAdapterda=newSqlDataAdapter(“select*fromstudent”,con);//将访问结果存放在数据集中。Da.Fill(ds,”student”)16.2ADO.NET编程方法15.删除数据库中的数据//建立连接字符串,这里假设采用仅Windows身份认证Stringconstr=”datasource=llipc;initialcatalog=jwgl;integratedsecurity=true”;//创建连接对象,通过连接字符串建立和数据库之间的连接SqlConnectioncon=newSqlConnection(constr);//打开数据库连接Con.Open();//创建SqlCommand对象,提供与数据源的连接命令(insert、update命令只要修改第一参数即可)SqlCommandcom=newSqlCommand(“deletefromstudentwherename=’陈红’”,con);//执行命令Com.ExecuteNonQuery();//关闭数据库连接Con.Close();16.3开发学生信息管理系统
16.3.1开发要求本案例通过微软VS2005版C#.NET作为开发语言对JWGL数据库中的student表进行操作,完成如下功能:1.身份验证该功能由用户选择将要登陆的数据库服务器和要访问的数据库名称,如果采用混合身份认证还需输入用户名和密码,进行与数据源的身份验证。2.学生信息的浏览该功能为通过高级开发语言提交SQL语句,查询学生信息表中的所有数据,并将结果通过开发语言编写的界面显示给用户。3.学生信息查询该功能通过用户选择和输入查询条件,形成正确的WHERE查询子句后,开发语言提交SQL查询语句,查询学生信息表中符合条件的数据,并将结果通过开发语言编写的界面显示给用户。4.数据添加该功能让用户通过应用程序界面输入数据信息,并将数据组合成INSERT插入语句,将用户输入的记录信息插入到学生信息表中,从而实现数据记录的添加功能,要求验证主键(学号)的完整性。同时刷新程序的浏览界面,以显示最新信息。5.数据修改该功能让用户通过应用程序界面选择需要修改的记录行,进行数据修改,并将数据组合成UPDATE更新语句,将用户输入的记录信息更新到学生信息表中,从而实现数据记录的修改功能,要求验证主键(学号)的完整性。同时刷新程序的浏览界面,以显示最新信息。6.数据删除该功能让用户通过应用程序界面选择需要删除的记录行,将删除信息组合成DELETE删除语句,删除学生信息表中指定的记录行,从而实现数据记录的删除功能。同时刷新程序的浏览界面,以显示最新信息。
16.3.2参考功能界面
Button按钮属性设置
| 按钮 | Name属性 | Text属性 |
|---|---|---|
| 浏览学生信息表 | ShowRecord | 浏览学生信息表 |
| 查询 | SearchRecord | 查询 |
| 添加 | InsertRecord | 添加 |
| 修改 | UpdateRecord | 修改 |
| 删除 | DeleteRecord | 删除 |
| 退出 | Exit | 退出 |
DataGrid控件属性设置
| 属性 | 设置值 |
|---|---|
| (name) | DataGrid1 |
| HeaderFont | 宋体,9pt |
| ReadOnly | True |
| TableStyle | 具体参见后续介绍 |
在图16.1点添加按钮会出现属性设置:
| 属性 | 设置值 | 说明 |
|---|---|---|
| HeaderBackColor | InactiveCaptionText | 设置头部的背景颜色 |
| MappingName | student | 设置映射关系 |
| DataGridColumnStyle | 具体设置参见表16.10 | 设置各列的显示样式 |
| 属性 | 设置值 |
|---|---|
| (name) | dataGridTextBoxColumn1 |
| HeaderText | 学号 |
| MappingName | student_id |
| Width | 110 |
| Alignment | Left |
| 列控件 | 属性 | 设置值 |
|---|---|---|
| DataGridTextBoxColumn2 | (name) | DataGridTextBoxColumn2 |
| DataGridTextBoxColumn2 | HeaderText | 姓名 |
| DataGridTextBoxColumn2 | MappingName | name |
| DataGridTextBoxColumn2 | Width | 110 |
| DataGridTextBoxColumn2 | Alignment | Left |
| DataGridTextBoxColumn3 | (name) | DataGridTextBoxColumn3 |
| DataGridTextBoxColumn3 | HeaderText | 性别 |
| DataGridTextBoxColumn3 | MappingName | sex |
| DataGridTextBoxColumn3 | Width | 60 |
| DataGridTextBoxColumn3 | Alignment | Left |
| 列控件 | 属性 | 设置值 |
|---|---|---|
| DataGridTextBoxColumn4 | (name) | DataGridTextBoxColumn4 |
| DataGridTextBoxColumn4 | HeaderText | 出生日期 |
| DataGridTextBoxColumn4 | MappingName | birthday |
| DataGridTextBoxColumn4 | Width | 120 |
| DataGridTextBoxColumn4 | Alignment | Left |
| DataGridTextBoxColumn5 | (name) | DataGridTextBoxColumn5 |
| DataGridTextBoxColumn5 | HeaderText | 班级号 |
| DataGridTextBoxColumn5 | MappingName | class_id |
| DataGridTextBoxColumn5 | Width | 110 |
| DataGridTextBoxColumn5 | Alignment | Left |
| 属性 | 设置值 |
|---|---|
| (name) | DataGridTextBoxColumn6 |
| HeaderText | 家庭地址 |
| MappingName | home_addr |
| Width | 200 |
| Alignment | Left |
身份验证界面控件属性设置
| 控件名 | 属性 | 设置值 |
|---|---|---|
| Label | (name)=Label1 | Text=数据库服务器 |
| Label | (name)=Label2 | Text=选择数据库 |
| TextBox | (name)=servername | Text=LLIPC(设置使用的服务器名称) |
| TextBox | (name)=m_database | Text=JWGL |
| Button | (name)=assure | Text=确定,DialogResult=OK |
| Button | (name)=quit | Text=取消 |
数据查询界面Label控件设置
| 控件名 | 属性 | 设置值 |
|---|---|---|
| Label | (name)=Label1 | Text=查询关键字 |
| Label | (name)=Label2 | Text=语句内逻辑关系 |
| Label | (name)=Label3 | Text=查询条件 |
| 控件名 | 属性 | 设置值 |
|---|---|---|
| ComboBox | (name)=comboBoxkey | (Collection)=学号、姓名、性别、出生日期、班级号 |
| ComboBox | (name)=comboBoxlogic1 | (Collection)=>、<、<=、>=、= |
| TextBox | (name)=textBoxoption | — |
| ListBox | (name)=listBox1 | — |
| Button | (name)=showsql | Text=显示 |
| Button | (name)=cancel | Text=取消 |
| Button | (name)=ok | Text=确定,DialogResult=OK |
数据添加界面Label控件设置
| 控件名 | 属性 | 设置值 |
|---|---|---|
| Label | (name)=Label1 | Text=学号 |
| Label | (name)=Label2 | Text=姓名 |
| Label | (name)=Label3 | Text=性别 |
| Label | (name)=Label4 | Text=出生日期 |
| Label | (name)=Label5 | Text=班级号 |
| Label | (name)=Label6 | Text=家庭地址 |
| TextBox | (name)=textBox1 | — |
| 控件名 | 属性 | 设置值 |
|---|---|---|
| TextBox | (name)=textBox2 | (Collection)=男、女 |
| ComboBox | (name)=comboBox1 | — |
| TextBox | (name)=textBox4 | — |
| TextBox | (name)=textBox5 | — |
| TextBox | (name)=textBox3 | — |
| Button | (name)=assure | Text=确定,DialogResult=OK |
| Button | (name)=quit | Text=取消 |
下载地址:{{downurl}}
{{{a}}}
{{#b}}{{{b}}}
{{/b}} {{/title}} {{#nolog}}登陆注册
{{/nolog}} {{#djsx}}点我刷新
{{/djsx}} {{#gocz}} {{/gocz}} {{#ffqr}} {{/ffqr}}