当前课程知识点:SQL SERVER数据库技术 > 第13章 visual studio 2010应用开发实例 > 13.2 ASP.NET网站开发 > asp.net的SQL Server编程
asp.net的SQL Server编程
Visual C#的SQL Server编程
[初始设置]
首先,我们需在应用系统中安装SQL Server 2005,Microsoft OLE DB Provider for SQL Server (SQL OLE DB)也会同时被自动安装,接着用SQL Server的Enterprise Manager创建一个叫tyjdb的数据库,并新建一名为address的数据表,其含name、email、age和address四个字段。
打开VS开发环境中的视图选单项中的服务器资源管理器,该管理器可管理SQL Server及其他各种OLE DB的数据库连接,并可以管理其中的数据。接着我们添加一个新的数据连接,连接属性选择Microsoft OLE DB Provider for SQL server,然后选好服务器及数据库tyjdb,测试连接成功后按确定。使用该工具可又快又准地生成需要的数据库连接字符串。
[连接数据库 ]
新建一个ASP.NET项目或Windows.NET应用程序,因为二者的数据库存取程序是相同的。将服务器资源管理器中的数据连接拖至新建的Web Form上即可,这时自动生成了一个连接字符串如下:
this.sqlConnection1.ConnectionString
= "data source=WHOAMI;
initial catalog=tyjdb;
integrated security=SSPI;
persist security info=False;
workstation id=WHOAMI;
packet size=4096";
其中WHOAMI为笔者的服务器名。
选取工具箱中的SqlDataAdapter并拖至该Web Form,提示时选取tyjdb的数据连接,选择使用SQL语句访问数据库,生成SQL语句时只填入SELECTFROM ADDRESS,确认完成即可。程序生成代码如下:
protected System.Data.SqlClient.SqlDataAdapter sqlDataAdapter1;
//存取数据库的主要类
protected System.Data.SqlClient.SqlCommand sqlSelectCommand1;
//SQL语句处理的类
protected System.Data.SqlClient.SqlConnection sqlConnection1;
//连接数据库的类
在InitializeComponent()中有如下声明:
this.sqlConnection1 = new System.Data.SqlClient.SqlConnection();
this.sqlDataAdapter1 = new System.Data.SqlClient.SqlDataAdapter();
this.sqlSelectCommand1 = new System.Data.SqlClient.SqlCommand();
this.sqlDataAdapter1.SelectCommand = this.sqlSelectCommand1;
this.sqlSelectCommand1.CommandText = "SELECT name, email, age, address FROM address";
this.sqlSelectCommand1.Connection = this.sqlConnection1;
为使Table中数据能在Web Form中显示,加入一个DataGrid控件至Web Form上,并在Page_Init中加入如下语句:
sqlConnection1.Open();
//打开数据库连接
DataSet objDataset;
//新建一个放数据的DataSet
objDataset=new DataSet();
sqlDataAdapter1.Fill(objDataset, "address");
//将数据填入DataSet
DataGrid1.DataSource=objDataset.Tables["address"].DefaultView;
//关联DataSet和DataGrid
DataGrid1.DataBind();
//绑定数据
sqlConnection1.Close();
//关闭数据库连接
编译执行后Web Form已可将数据库中数据显示在DataGrid中了。
[增加数据 ]
若想增加数据库数据时,我们只需在Web Form上新增对应字段数量个数的TextBox,并新增一个按键,接着为该按键增加Click事件,具体代码如下:
sqlInsertCommand1.Parameters["@name"].Value=TextBox1.Text;
//将TextBox赋值给对应参数
sqlInsertCommand1.Parameters["@email"].Value=TextBox2.Text;
sqlInsertCommand1.Parameters["@age"].Value=TextBox3.Text;
sqlInsertCommand1.Parameters["@address"].Value=TextBox4.Text;
sqlInsertCommand1.Connection.Open();
//打开连接
sqlInsertCommand1.ExecuteNonQuery();
//执行Insert语句
sqlInsertCommand1.Connection.Close();
//关闭连接
sqlConnection1.Open();
DataSet objDataset;
//下面程序段更新DataGrid
objDataset=new DataSet();
sqlDataAdapter1.Fill(objDataset, "address");
DataGrid1.DataSource=objDataset.Tables["address"].DefaultView;
DataGrid1.DataBind();
执行这段程序时,只需在TextBox中填入要添加的记录字段的值,然后按该按键即可执行添加功能。
[删除数据 ]
若想删除数据库数据时,我们则需在Web Form上新增一个TextBox5及一个按键,为该按键增加如下代码:
SqlCommand sqlDeleteCommand1 = new System.Data.SqlClient.SqlCommand();
//声明Sql Command类对象
this.sqlDataAdapter1.DeleteCommand = sqlDeleteCommand1;
sqlDeleteCommand1.CommandText="DELETE FROM ADDRESS WHERE NAME='"+TextBox5.Text+"'";
//SQL语句
sqlDeleteCommand1.Connection = this.sqlConnection1;
//声明使用的数据连接
sqlDeleteCommand1.Connection.Open();
sqlDeleteCommand1.ExecuteNonQuery();
//执行该SQL语句
sqlDeleteCommand1.Connection.Close();
执行这段程序时,只需在TextBox5中填入要删除的记录name字段的值,然后按该按键即可执行删除功能。
综上可知,充分利用Visual Studio.NET的开发环境来简化程序设计对提高编程效率和质量极有好处。
上述程序均用C#开发,在中文Windows 2010 Server、SQL Server 2005、Visual Studio.NET中文Beta 2环境下,编译并正常运行,中文显示正常。
-1.1 数据库基础知识
--数据库的概念
--数据库概念
--数据模型(1)
--数据模型(2)
--数据模型
--实体间的联系
--E-R图
--数据技术的发展
--数据库技术发展
-1.1 数据库基础知识--作业
-1.2 SQL SERVER简介
--数据库应用场景
--企业应用
--安装与配置
-1.2 SQL SERVER简介--作业
-1.3 课堂练习-安装和配置SQL SERVER2008
-职场小故事之一——数据库工程师采访录(1)
-2.1 数据库对象及构成
--sql server 2008数据库中的文件和文件组的详解
--管理数据库和文件
--创建文件组
--文件和文件组
-2.1 数据库对象及构成--作业
-2.2 创建数据库
--使用SQL SERVER Management Studio创建数据库
-2.2 创建数据库--作业
-2.3 修改数据库
--使用T-SQL扩充数据库或事务日志的容量-01(操作演示)
--使用T-SQL扩充数据库或事务日志的容量-02(操作演示)
-2.3 修改数据库--作业
-2.4 重命名或删除数据库
-2.4 重命名或删除数据库--作业
-2.5 课堂练习-创建数据库和数据库文件
-职场小故事之二 数据库工程师采访录(2)
-3.1 数据表设计
--数据表设计
-3.1 数据表设计--作业
-3.2 创建数据表
--创建数据表
-3.2 创建数据表--作业
-3.3 修改数据表结构
-3.3 修改数据表结构--作业
-3.4 删除数据表
-3.4 删除数据表--作业
-3.5 课堂练习-创建数据类型和数据表
--数据类型详解
-- 创建数据类型和表
--程序源代码
-3.5 课堂练习-创建数据类型和数据表--作业
-扩展知识
--数据类型详解
-职场小故事之三——数据库工程师是干什么的?
-4.1 合并多个查询结果中的数据
-4.1 合并多个查询结果中的数据--作业
-4.2 抽取数据到另一个表中
-4.2 抽取数据到另一个表中--作业
-4.3 添加数据
--向表中添加数据
-4.3 添加数据--作业
-4.4 更新数据
--将“电子出版概论”课程的上课时间修改为“周二晚”——程序源代码
--将“01数据库”班级所有学生的选课密码初始化为#*3456
--更新表中的数据
-4.4 更新数据--作业
-4.5 删除数据
--学生为“00000005”的学生因故取消课程编号为“017”的选修课
--学号为“0000005”的学生因故取消“中餐菜肴制作”选修课——程序源代码
--删除表中数据
-4.5 删除数据--作业
-4.6 课堂练习
-职场小故事之四——冯玉才:“背”着数据库闯天下
-5.1 查询单个数据表数据
-5.1 查询单个数据表数据--作业
-5.2 使用聚合函数查询
--使用聚合函数查询
-5.2 使用聚合函数查询--作业
-5.3 使用分组查询结果
--查看报名人数大于15的各类课程的最少报名人数和最多报名人数
--查看报名人数大于15并且每组平均报名人数大于30的课程类别和各组的平均报名人数
--查看课程类别为“信息技术”、“管理”的平均报名人数,并给出其他课程类别
--使用分组查询
-5.3 使用分组查询结果--作业
-5.4 排序查询结果
--重新排序查询结果
-5.4 排序查询结果--作业
-5.5 多表连接查询数据
--比较连接查询
--多表连接查询数据
-第5章 查询与统计数据-作业
-5.6 课堂练习-查询与统计数据
--程序源代码
-职场小故事之五——IT独行侠数据库独立咨询顾问牛新庄的故事
-6.1 索引的概述
--索引的技巧
--索引简介
--索引的分类
--索引的分类
-6.1 索引的概述--作业
-6.2 创建索引
--创建索引
-6.2 创建索引--作业
-6.3 重命名索引
--将sutdent表的IX_STUNAME索引重命名为IX_STUNAMENEW
--重命名索引
-6.3 重命名索引--作业
-6.4 删除索引
--删除索引
--删除索引
-6.4 删除索引--作业
-6.5 索引分析
--查询学号为“00000001”的学生信息,分析哪些索引被系统采用
--查询名为"林斌"的学生,分析执行该数据花费的磁盘活动量信息
--分析索引
-6.5 索引分析--作业
-6.6 索引维护
--使用UPDATE STATISTICS更新索引的统计信息
--维护索引
-6.6 索引维护--作业
-6.7 课堂练习-创建和优化索引
--创建和优化索引
--程序源代码
-职场小故事之六——数据库安全门事件
-实现索引
-7.1 数据完整性概述
--数据完整性的概述
--数据完整性概述
-7.1 数据完整性概述--作业
-7.2 创建约束
--创建主键约束
--创建主键约束
--添加唯一约束
--创建唯一约束
--约束的STUNO列值只允许为8位数字,并且不可以为8个0
--删除检查约束
--创建检查约束
--为STUCOU表添加默认约束,STATE列的默认值“报名”
--创建默认约束
--创建外键约束
-7.2 创建约束--作业
-7.3 创建默认值
--创建并绑定默认值
--创建默认值
--解除默认值UnsureDefault与Teacher列的绑定
--删除默认值
-7.3 创建默认值--作业
-7.4 创建规则
--创建规则
--解除规则CreditRule与Course表Credit列的绑定
--删除规则
-7.4 创建规则--作业
-7.5 课堂练习-实现数据完整性
-- 实现数据完整性
--程序源代码
-职场小故事之七——数据库工程师的发展前景
-8.1 视图的概述
--视图的基本概念
--视图简介
-8.1 视图的概述--作业
-8.2 创建视图
--创建视图
--创建视图
-8.2 创建视图--作业
-8.3 修改视图
--修改视图并加密
--修改视图
-8.3 修改视图--作业
-8.4 重命名视图
--重命名视图
--重命名视图
-8.4 重命名视图--作业
-8.5 删除视图
--删除视图
--删除视图
-8.5 删除视图--作业
-8.6 课堂练习-实现视图
-- 实现视图
--程序源代码
-职场小故事之八——数据库面对的工作岗位及职责
-9.1 存储过程概述
--存储过程的优点
--存储过程的优点
-9.1 存储过程概述--作业
-9.2 创建与执行不带参数的存储过程
--创建存储过程,返回学生表中班级编号为“20000001”的所有数据行
--执行存储过程
-9.2 创建与执行不带参数的存储过程--作业
-9.3 创建与执行带参数的存储过程
--执行存储过程
-9.3 创建与执行带参数的存储过程--作业
-9.4 修改存储过程
--修改的存储过程
-9.4 修改存储过程--作业
-9.5 删除存储过程
--删除存储过程
--删除存储过程
-9.5 删除存储过程--作业
-9.6 课堂练习-实现存储过程和函数
-- 实现存储过程和函数
--程序源代码
-职场小故事之九——数据库错误致虎航安全事故
-10.1 触发器概述
--触发器的概述
-10.1 触发器概述--作业
-10.2 创建触发器
--创建触发器
--测试触发器
--创建触发器
-10.2 创建触发器--作业
-10.3 修改触发器
--测试结果
--修改触发器
-10.3 修改触发器--作业
-10.4 删除触发器
--删除触发器
--删除触发器
-10.4 删除触发器--作业
-10.5 禁用或启用触发器
--禁用触发器
--启用触发器
--禁用或启用触发器
-10.5 禁用或启用触发器--作业
-10.6 课堂练习-管理触发器
--程序源代码
-职场小故事之十——韩国农协银行事件透视数据库安全问题
-11.1 SQL SERVER安全机制
--安全设计理念
-11.1 SQL SERVER安全机制--作业
-11.2 管理登录名和用户
--创建登录名
-11.2 管理登录名和用户--作业
-11.3 管理角色
--角色
-11.3 管理角色--作业
-11.4 管理权限
--创建登录名
--创建用户
-11.4 管理权限--作业
-11.5 课堂练习-管理安全性
--管理安全性
--程序源代码
-11.5 课堂练习-管理安全性--作业
-职场小故事之十一——银行账号“泄密”虚惊
-12.1 脱机后复制数据库文件
--数据库脱机操作
-12.1 脱机后复制数据库文件--作业
-12.2 备份与还原数据库
-12.2 备份与还原数据库--作业
-12.3 数据的导入和导出
--数据导入与导出
-12.4 复制数据库
--复制数据库
--数据库复制
-12.5 课堂练习-灾难恢复
-- 灾难恢复
--程序源代码
-职场小故事之十二——2011年数据库泄密事件
-13.1 windows应用程序开发
-13.1 windows应用程序开发--作业
-13.2 ASP.NET网站开发
-13.2 ASP.NET网站开发--作业
-国家软件开发文档标准
--操作手册编写规范
-- 详细设计说明书编写规范
-- 项目开发总结报告编写规范
--用户手册编写规范